iter(g107): 新增二次确认气泡 popconfirm
This commit is contained in:
@@ -72,7 +72,8 @@
|
||||
"checkboxGroup(props):多选组,value 为数组信号,min/max 用禁用边界项实现(不抛错),checkAll 支持半选且只统计未禁用项",
|
||||
"affix(props, ...children):固钉,滚过 offset 后内容转 fixed 贴顶、外层保留占位高度,固定后宽度随容器自适应",
|
||||
"multiSelect(props):多选下拉,标签式回显 + 可搜索弹层,点选不收起便于连续多选,max 到限后未选项禁用",
|
||||
"anchor(props):锚点导航,竖排区块链接,滚动时按目标位置高亮当前区块(aria-current 同步),点击按 offset 偏移量平滑定位并回写 hash;container 可指定内滚容器"
|
||||
"anchor(props):锚点导航,竖排区块链接,滚动时按目标位置高亮当前区块(aria-current 同步),点击按 offset 偏移量平滑定位并回写 hash;container 可指定内滚容器",
|
||||
"popconfirm(props, trigger):二次确认气泡,挂在任意触发器上,就地确认危险操作;确定后先收起再回调,取消 / 点外部 / Esc 走 onCancel,展开即聚焦「取消」"
|
||||
],
|
||||
"keyTypes": [
|
||||
"ButtonProps",
|
||||
@@ -1098,6 +1099,11 @@
|
||||
"t": "HTMLElement",
|
||||
"r": 1,
|
||||
"d": "第二个参数:被包裹的触发器元素"
|
||||
},
|
||||
{
|
||||
"n": "open",
|
||||
"t": "Signal<boolean>",
|
||||
"d": "受控开合信号;不传则内部维护,传了外部可编程开合(popconfirm 即基于它)"
|
||||
}
|
||||
],
|
||||
"example": "popover({ title: '筛选条件', content: h('div', null, '任意可交互内容') }, button({ label: '筛选' }))",
|
||||
@@ -2753,6 +2759,68 @@
|
||||
"页面有吸顶导航时把它的高度传给 offset,跳转与高亮判定都会预留这段距离",
|
||||
"滚动容器不是整页时用 container 传入该元素;点击走平滑滚动,系统开启「减少动效」时改为瞬移,hash 用 replaceState 回写不堆历史"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "popconfirm",
|
||||
"title": "二次确认 Popconfirm",
|
||||
"demo": "sec-popconfirm",
|
||||
"props": [
|
||||
{
|
||||
"n": "title",
|
||||
"t": "string",
|
||||
"r": 1,
|
||||
"d": "气泡标题,通常写成一句问句(如「删除这条记录?」)"
|
||||
},
|
||||
{
|
||||
"n": "description",
|
||||
"t": "string",
|
||||
"d": "补充说明:影响范围、是否可撤销;缺省给一句通用提示"
|
||||
},
|
||||
{
|
||||
"n": "confirmText",
|
||||
"t": "string",
|
||||
"d": "确认按钮文案;缺省「确定」"
|
||||
},
|
||||
{
|
||||
"n": "cancelText",
|
||||
"t": "string",
|
||||
"d": "取消按钮文案;缺省「取消」"
|
||||
},
|
||||
{
|
||||
"n": "variant",
|
||||
"t": "'default' | 'danger'",
|
||||
"d": "确认按钮语义色;删除类操作传 danger,缺省 default"
|
||||
},
|
||||
{
|
||||
"n": "placement",
|
||||
"t": "'top' | 'bottom'",
|
||||
"d": "气泡方位;缺省 top,压在触发器上方不盖住被操作的行"
|
||||
},
|
||||
{
|
||||
"n": "onConfirm",
|
||||
"t": "() => void",
|
||||
"k": 1,
|
||||
"d": "点确定后的回调(此时弹层已收起)"
|
||||
},
|
||||
{
|
||||
"n": "onCancel",
|
||||
"t": "() => void",
|
||||
"k": 1,
|
||||
"d": "取消 / 点外部 / Esc 收起时的回调"
|
||||
},
|
||||
{
|
||||
"n": "open",
|
||||
"t": "Signal<boolean>",
|
||||
"d": "受控开合信号;不传则内部维护,传了可由外部编程开合"
|
||||
}
|
||||
],
|
||||
"example": "popconfirm({ title: '删除这条记录?', description: '删除后无法恢复', variant: 'danger', confirmText: '删除', onConfirm: () => toast.success('已删除') }, button({ label: '删除', variant: 'danger' }))",
|
||||
"steps": [
|
||||
"把要保护的触发器元素(按钮 / 图标)作为第二个参数传进去,返回的包裹节点替换原位置",
|
||||
"写清 title(问句)与 description(影响范围),删除类操作把 variant 设成 danger,确认按钮会自动变成危险色",
|
||||
"点确定先收起弹层再触发 onConfirm,回调里可以放心同步改数据;取消、点外部、Esc 一律走 onCancel",
|
||||
"展开时焦点自动落在「取消」上,误按回车不会执行危险操作;需要外部控制开合时传 open 信号"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user