iter(g238): 新增 highlight 关键词高亮,命中片段包 mark 并随信号实时联动(75 组件)

This commit is contained in:
HIsheR
2026-10-26 21:35:18 +08:00
parent 5f150dccaa
commit 226271986e
12 changed files with 150 additions and 10 deletions
+19
View File
@@ -31,6 +31,7 @@ import {
countdown,
dataTable,
kbd,
highlight,
datePicker,
transfer,
descriptions,
@@ -254,6 +255,8 @@ const acValue = signal(''); // 自动补全输入值(外部受控演示)
const pinCode = signal(''); // 验证码输入值(外部受控演示)
const pinMask = signal(''); // 密文验证码输入值(mask 演示)
const resendCd = countdown({ seconds: 90, running: false, format: (s) => `重发(${s}s)` }); // 重发倒计时(手动启动演示)
const highlightText = signal('数据不出端、预测低于 50ms、习惯本地学习是输入法增强系统的三条底线'); // 高亮演示原文
const highlightKw = signal('本地'); // 高亮演示关键词(与搜索框信号联动)
const treeChecked = signal<string[]>(['core']); // 多选树勾选集合(外部受控演示)
const treePick = signal('core'); // 树形选中节点 key
const transferKeys = signal<string[]>(['a11y']); // 穿梭框右侧集合(外部受控演示)
@@ -1135,6 +1138,22 @@ const content = h(
h('span', { class: 'out' }, '按 ', kbd({ keys: ['Ctrl', 'K'] }), ' 唤起演示页命令面板'),
),
),
section(
'sec-highlight',
'关键词高亮',
'highlight:命中片段包 mark(大小写不敏感全部命中),text / keyword 接受信号实时联动,空关键词原样展示。',
h(
'div',
{ class: 'row' },
highlight({ text: highlightText, keyword: highlightKw }),
h('span', { class: 'out' }, () => `关键词:${highlightKw() || '(空)'}`),
),
h(
'div',
{ class: 'row' },
textField({ placeholder: '输入关键词试试实时联动', value: highlightKw, size: 'sm' }),
),
),
section(
'sec-affix',
'固钉',