摩卡级联操作,地区选择操作
This commit is contained in:
@@ -140,3 +140,17 @@ src/
|
||||
- 禁止将新增逻辑直接内联到已有的大方法中导致方法膨胀、职责混乱
|
||||
- 独立方法应有清晰的中文注释说明:用途、入参、返回值、安全退化行为
|
||||
- 调用独立方法的位置需加注释说明为什么调用、结果如何使用
|
||||
|
||||
## 弹出层点击操作规范
|
||||
|
||||
- **任何需要触发弹出层(下拉面板、日期选择器、级联选择器等)的点击操作,禁止使用普通的 `.click()`**
|
||||
- 必须使用 `src/utils/domEvent.ts` 导出的 `simulateClick` 方法:
|
||||
```typescript
|
||||
import { simulateClick } from "~utils/domEvent"
|
||||
simulateClick(el) // 默认含 pointer 事件 + 自动取元素中心坐标
|
||||
simulateClick(el, { focus: true }) // 需要先 focus 时
|
||||
simulateClick(el, { pointer: false }) // 不需要 pointer 事件时
|
||||
```
|
||||
- 原因:React / Vue 等框架的 UI 组件库(如 Shimo Design、Ant Design 等)经常将事件监听绑定在 `mousedown` 或 `pointerdown` 而非 `click` 上,普通 `.click()` 只触发 click 事件,无法激活这些组件的弹出层逻辑
|
||||
- `simulateClick` 内部完整事件链:pointerdown → mousedown → pointerup → mouseup → click
|
||||
- 禁止在业务代码中自行编写 `dispatchEvent(new MouseEvent(...))` 序列,必须统一引用 `~utils/domEvent`
|
||||
|
||||
Reference in New Issue
Block a user