Skip to content

LazySelect 懒加载选择器

带有分页请求的多选组件,采用 popover 实现,值为默认 { value, label }(批量为[{value, label}]),用于跨页回显。(注:组件需要存入label字段,请确保后端能够存储值和文字。)

提示

演示示例请求逻辑依赖了公共hook的 useLoad 的useLoadMore。

基础用法

请选择用户
当前选择的值:
模式
复制代码
查看代码

API

Props

参数说明类型默认值
value(v-model)选中的值{ label: string, value: string } | Array<{ label: string, value: string }>-
mode选择模式'single' | 'multiple''single'
disabled是否禁用booleanfalse
placeholder占位文本string'请选择'
allowClear是否显示清除按钮booleantrue
fieldNames自定义字段名{ label: string, value: string }{ label: 'name', value: 'id' }
maxCount多选模式下最多显示标签数number10
maxTagTextLength多选模式下标签最大字符数number10
search搜索配置{ key: string, placeholder?: string }-
fetchFunc获取数据的函数(params: any) => Promise<{ data: {records: any[], total: number, pages: number },list: success: boolean }>-
fetchParams额外请求参数(如果配置了search,这里可以不用再设置)any{}
afterFetch数据获取后的回调(可处理为hook需要的数据结构)(data: any, res?: any) => any-

Slots

插槽名说明参数
render-option自定义选项内容{ data: any }(当前行数据)