结构化搜索
@astryxdesign/core v0.7.1 · PowerSearch
属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
config | PowerSearchConfig | 必需 | 有哪些字段、运算符,以及每种运算符要什么值。 |
filters | PowerSearchFilter[] | - | 当前条件。传入之后由外面保存,配合更新事件使用。 |
label | string | 搜索 | 输入框的无障碍名称。 |
isLabelHidden | boolean | true | 视觉上藏起标签,读屏仍然读得到。不传就隐藏;传 false 会显示。旧名 labelHidden 同样可用。两个都传时听正名。 |
placeholder | string | 搜索…… | 还没有条件时的占位文字。 |
autofocus | boolean | false | 挂载后立刻聚焦。 |
hasClear | boolean | true | 有筛选条件时显示全部清除。旧名 clearable 同样可用。 |
readOnly | boolean | false | 不能新增、修改或删除。 |
disabled | boolean | false | 整个搜索停用。 |
disabledMessage | string | - | 停用原因。和 disabled 一起用时,悬停或键盘聚焦会显示这段提示,输入框仍可聚焦(带 aria-disabled)。旧名 disabledReason 同样可用。 |
status | 'default' | 'success' | 'warning' | 'error' | default | 校验状态。 |
statusMessage | string | - | 状态说明。 |
statusVariant | 'attached' | 'detached' | attached | 说明贴在输入框下面,或隔开一段。 |
maxTokenLength | number | 40 | 标签里的值最多显示多少个字符。 |
maxSearchResults | number | 10 | 输入了文字之后,字段菜单最多几条。空查询最多浏览 1000 个字段。 |
maxOperatorMenuItems | number | 10 | 字符串和实体的值补全最多几条。不影响字段菜单和枚举菜单。 |
menuWidth | number | - | 字段菜单的精确宽度,单位是像素。不作用于值编辑器。 |
popoverSaveButtonLabel | string | 应用 | 筛选编辑器里保存按钮的文字。旧名 saveLabel 同样可用。 |
timezoneID | string | - | 日期怎么显示所用的时区 ID,例如 America/New_York。旧名 timeZone 同样可用。 |
overflow | 'none' | 'unfocused-inline' | 'unfocused-layer' | none | 标签放不下时换行、失焦收成一行,或失焦后浮层展开。 |
resultCount | number | string | - | 匹配数量。数字会按结果的单复数格式化。 |
size | 'sm' | 'md' | 'lg' | md | 输入框和标签的尺寸。 |
components | PowerSearchComponents | - | 按值的类型替换标签或编辑器。 |
containerClass | string | - | 加到字段外壳,也就是标签和状态说明那一层。不会进到画边框的外框,也不会进到原生 input。 |
containerStyle | StyleValue | - | 字段外壳的行内样式。落点和 containerClass 相同。 |
controlClass | string | - | 加到画边框的外框。写在组件上的 class 也落在这里,不会进到原生 input。 |
controlStyle | StyleValue | - | 外框的行内样式。写在组件上的 style 也落在这里。 |
事件
| 名称 | 载荷 | 说明 |
|---|---|---|
update:filters | 新的条件列表 | 条件变化。可以配合双向绑定。 |
change | 条件、变更类型、下标 | 类型是新增、修改或删除,下标是被碰到的那一条。 |
focus | 焦点事件 | 焦点进入输入框。 |
blur | 焦点事件 | 焦点离开输入框。 |
插槽
图标放在条件前面。endContent(也接受旧名 end)放在清除按钮之前,适合再放一个操作。标签和编辑器插槽优先于按类型注册的替换组件。
组件还暴露聚焦和取消聚焦两个方法,给外面的按钮把光标送回输入框。
字段定义
createPowerSearchConfig 接受字符串、数字、布尔、日期、枚举、枚举列表和字符串列表。字符串有包含、开头、结尾和等于。数字有大小比较。日期有早于、晚于和介于。布尔值不需要再填值。
手写配置时还可以使用时间、相对日期、实体列表、自定义编辑器和嵌套条件。自定义编辑器要同时提供怎么把值读成文字。