组件 · 表单 · 原生 HTML 与 React
搜索框 Search
带放大镜和清空按钮的搜索框;Esc 先清空,再按一次才离开。
演示
<div class="xxd-input-wrap">
<i data-xxd-icon="Search" data-size="16"></i>
<input class="xxd-input" type="search" placeholder="搜索设置(⌘F)">
<button class="xxd-input-clear" aria-label="清空"><i data-xxd-icon="X" data-size="14"></i></button>
</div>export function SearchDemo() {
const [q, setQ] = useState("");
return <Search value={q} onValueChange={setQ} placeholder="搜索设置" />;
}属性与类名
| 属性 / 类名 | 说明 |
|---|---|
| 类名 | xxd-input-wrap xxd-input-clear |
JS
Xxd.bindSearch(input, { onQuery: (q) => Xxd.markMatches(container, q) })键盘与读屏
- type="search",没有可见标签时写 aria-label
- 清空按钮有 aria-label;Esc 有内容时清空、没内容时交给外层
规则
- ⌘F / Ctrl+F 跳到它,Esc 清空
- 匹配的字用 mark.xxd-hit 标出来