UNPKG

@zhangqingcq/plug-r-qw

Version:

A JS lib base on Vue and View-design, you can achieve some complex functions with simple code after install this lib.

71 lines (48 loc) 2.31 kB
## asyncCascader 远程拉取数据的级联下拉选择框,依据 url 属性从后端拉取数据,失焦时选择,v-model 绑定选中的 ID,全局 UI 组件,直接用 ### 属性 - valProp: 数字/字符串/数组,组件的值,推荐用*v-model* 绑定,如: ``` <asyncCascader v-model="value"/> value: 2 ``` - url: 字符串,拉取数据的接口地址,默认值:`window.g.mgrURL + '/web/v1/umc/orgs'`,如果需要使用自己的 url,那么该接口返回值需满足以下格式: ``` [ { id: 1, name: '机构A' }, { id: 2, name: '机构B', children: [ { id: 3, name: '机构B-1' } ] } ] 该数组需以r或r.data或r.data.records的值返回,r为请求返回最外层数据 ``` - optionVal 字符串,节点 val 对应接口字段,默认:`'id'` - optionLabel 字符串,节点 label 对应节点字段,默认:`'name'` - optionFilter Function,自定义待选项筛选逻辑,入参是接口请求回来的待选项数据,返回处理后的待选项,如: ``` <asyncCascader ... :optionFilter="d=> d.filter(e => e && e.id !== 3)" ... /> ``` - onlyLastVal: 布尔对象,组件值只取选中的最后一级,默认:`true`,如共 3 级`[1,2,3]`,选中为第二级`2`,则 v-model 的值为`2`,否则为`[1,2]` - onlyLastLabel: 布尔对象,组件选择框只展示选中的最后一级,默认:`true`,如共 3 级`['机构1','机构1-1','机构1-1-1']`,选中为第二级`机构1-1`,则展示`机构1-1`,否则为`机构1/机构1-1`(分隔符可自定义,默认`/`) - filterable: 布尔对象,是否支持筛选待选项,默认值:`false` - separator: 字符串,选中的 label 分隔符,显示全部 label 时生效,默认值:`'/'` - placeholder: 字符串,选择框 placeholder,默认值:`'搜索'` - disabled: 布尔对象,禁用组件(仅展示时用),默认:`false` ### 事件 - on-label-change: 组件 label 发生改变,返回改变后的 label ### 注意 - 传给 v-model(valProp)的值为带分隔符的 label 字符串时,组件返回的值是 id,多级下时 id 的数组,最后一级模式下是选中的 id