iter(g48): 新增 splitter 可拖拽分栏容器
This commit is contained in:
@@ -44,6 +44,7 @@ import {
|
||||
select,
|
||||
showToast,
|
||||
skeleton,
|
||||
splitter,
|
||||
slider,
|
||||
spinner,
|
||||
stepper,
|
||||
@@ -183,6 +184,7 @@ const menuPick = signal('');
|
||||
const listPick = signal(''); // 列表点击选中的条目标题
|
||||
const slideIndex = signal(0); // 轮播当前下标(外部受控演示)
|
||||
const cascaderPath = signal<string[]>(['east', 'sh']); // 级联选择路径(外部受控演示)
|
||||
const splitSizes = signal<number[]>([35, 65]); // 分栏比例(外部受控演示)
|
||||
const treePick = signal('core'); // 树形选中节点 key
|
||||
const transferKeys = signal<string[]>(['a11y']); // 穿梭框右侧集合(外部受控演示)
|
||||
const cityPick = signal(''); // 可搜索下拉的选中城市
|
||||
@@ -679,6 +681,25 @@ const content = h(
|
||||
button({ label: '错误(可关)', variant: 'danger', onClick: () => notification({ title: '保存失败', description: '服务端返回 500,请稍后重试', variant: 'danger' }) }),
|
||||
),
|
||||
),
|
||||
section(
|
||||
'sec-splitter',
|
||||
'可拖拽分栏',
|
||||
'splitter:分隔条可拖拽、可聚焦用方向键微调(Shift 加速)、双击复位均分;sizes 传信号即受控,每栏不低于 min。',
|
||||
h(
|
||||
'div',
|
||||
{ class: 'col' },
|
||||
splitter({
|
||||
sizes: splitSizes,
|
||||
onChange: (p) => toast.info(`比例:${p.map((n) => n + '%').join(' / ')}`),
|
||||
panes: [
|
||||
h('div', {}, h('div', { class: 'desc' }, '左侧栏'), list({ items: [{ title: '待办 A' }, { title: '待办 B' }], bordered: true })),
|
||||
h('div', {}, h('div', { class: 'desc' }, '右侧栏:拖动中间分隔条试试'), h('p', { class: 'desc' }, '分隔条支持键盘:Tab 聚焦后 ← → 每次 2%,Shift + ← → 每次 10%,双击复位。')),
|
||||
],
|
||||
}),
|
||||
h('span', { class: 'out' }, () => `当前比例:${splitSizes().map((n) => n + '%').join(' / ')}`),
|
||||
splitter({ direction: 'vertical', min: 20, panes: [h('div', { class: 'desc' }, '上栏'), h('div', { class: 'desc' }, '下栏(纵向拖拽)')] }),
|
||||
),
|
||||
),
|
||||
section(
|
||||
'sec-cascader',
|
||||
'级联选择',
|
||||
|
||||
Reference in New Issue
Block a user