iter(g55): 新增 checkboxGroup 多选组组件
This commit is contained in:
@@ -19,6 +19,7 @@ import {
|
||||
card,
|
||||
cascader,
|
||||
checkbox,
|
||||
checkboxGroup,
|
||||
colorPicker,
|
||||
dataTable,
|
||||
datePicker,
|
||||
@@ -191,6 +192,7 @@ const listPick = signal(''); // 列表点击选中的条目标题
|
||||
const slideIndex = signal(0); // 轮播当前下标(外部受控演示)
|
||||
const cascaderPath = signal<string[]>(['east', 'sh']); // 级联选择路径(外部受控演示)
|
||||
const splitSizes = signal<number[]>([35, 65]); // 分栏比例(外部受控演示)
|
||||
const permPick = signal<string[]>(['read']); // 多选组选中值(外部受控演示)
|
||||
const colorVal = signal('var(--ua-color-accent)'); // 颜色选择值(外部受控演示)
|
||||
const dateVal = signal('2026-10-26'); // 日期选择值(外部受控演示)
|
||||
const acValue = signal(''); // 自动补全输入值(外部受控演示)
|
||||
@@ -690,6 +692,31 @@ const content = h(
|
||||
button({ label: '错误(可关)', variant: 'danger', onClick: () => notification({ title: '保存失败', description: '服务端返回 500,请稍后重试', variant: 'danger' }) }),
|
||||
),
|
||||
),
|
||||
section(
|
||||
'sec-checkgroup',
|
||||
'多选组',
|
||||
'checkboxGroup:数组信号双向绑定,min/max 用「禁用边界项」代替报错,checkAll 带半选,只统计未禁用项。',
|
||||
h(
|
||||
'div',
|
||||
{ class: 'col' },
|
||||
checkboxGroup({
|
||||
value: permPick,
|
||||
min: 1,
|
||||
max: 3,
|
||||
checkAll: true,
|
||||
onChange: (v) => toast.info(`已选 ${v.length} 项`),
|
||||
options: [
|
||||
{ value: 'read', label: '读取' },
|
||||
{ value: 'write', label: '写入' },
|
||||
{ value: 'delete', label: '删除' },
|
||||
{ value: 'share', label: '分享' },
|
||||
{ value: 'audit', label: '审计日志(不可授予)', disabled: true },
|
||||
],
|
||||
}),
|
||||
checkboxGroup({ direction: 'vertical', options: [{ value: 'a', label: '纵向 A' }, { value: 'b', label: '纵向 B' }] }),
|
||||
h('span', { class: 'out' }, () => `已选:${permPick().join(' / ') || '无'}(下限 1、上限 3)`),
|
||||
),
|
||||
),
|
||||
section(
|
||||
'sec-watermark',
|
||||
'水印',
|
||||
|
||||
Reference in New Issue
Block a user