iter(g236): 新增 countdown 倒计时组件,秒级递减自动停表并带句柄控制(73 组件)

This commit is contained in:
HIsheR
2026-10-26 21:28:56 +08:00
parent 671c87456e
commit d50455318d
12 changed files with 176 additions and 10 deletions
+15
View File
@@ -28,6 +28,7 @@ import {
timePicker,
commandPalette,
copyButton,
countdown,
dataTable,
datePicker,
transfer,
@@ -251,6 +252,7 @@ const rangeTo = signal(''); // 区间终点
const acValue = signal(''); // 自动补全输入值(外部受控演示)
const pinCode = signal(''); // 验证码输入值(外部受控演示)
const pinMask = signal(''); // 密文验证码输入值(mask 演示)
const resendCd = countdown({ seconds: 90, running: false, format: (s) => `重发(${s}s)` }); // 重发倒计时(手动启动演示)
const treeChecked = signal<string[]>(['core']); // 多选树勾选集合(外部受控演示)
const treePick = signal('core'); // 树形选中节点 key
const transferKeys = signal<string[]>(['a11y']); // 穿梭框右侧集合(外部受控演示)
@@ -1106,6 +1108,19 @@ const content = h(
copyButton({ text: '禁用态示例', disabled: true }),
),
),
section(
'sec-countdown',
'倒计时',
'countdown:秒级递减到 0 自动停表并触发 onFinish,缺省 mm:ss 展示;句柄 start / stop / reset,验证码重发场景与 pinInput 搭配。',
h(
'div',
{ class: 'row' },
countdown({ seconds: 10, onFinish: () => toast.info('倒计时结束') }).el,
resendCd.el,
button({ label: '重置 90s', variant: 'ghost', onClick: () => { resendCd.reset(); resendCd.start(); } }),
h('span', { class: 'out' }, '第二个示例初始暂停,点按钮重开'),
),
),
section(
'sec-affix',
'固钉',