Cascader类型
基础用法
<template>
<ai-form ref="formEl" :model="formInfo" :formConfig="formConfig"></ai-form>
</template>
<script setup>
import { reactive, computed } from 'vue'
const regionOptions = [
{
value: 'cn',
label: '中国',
children: [
{ value: 'bg', label: '北京' },
{ value: 'cq', label: '重庆' }
]
},
{
value: 'en',
label: '英国',
children: [{ value: 'lo', label: '伦敦' }]
},
]
const formInfo = reactive({
region: '',
})
const formConfig = computed(() => {
return [
{
key: "region",
label: "归属地区",
type: "cascader",
model: "region",
prop: "region",
required: true,
dictList: regionOptions,
dictKey: "value",
dictLabel: "label",
},
]
})
</script>Props
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| type | cascader | string | - |
| key | 配置列表唯一标识 | string | - |
| label | 标签文本 | string | - |
| model | 属性名,它可以是属性的路径(如a.b.0)也可以是一个方法,返回属性路径,该属性是必填的 | string/Function | - |
| prop | 一般和属性名保持一致,在使用了validate、resetFields的方法时,该属性是必填的 | string/Function | - |
| width | 宽度(1-24) | number | 12 |
| noneLabel | 是否隐藏标签 | boolean | false |
| placeholder | 输入框占位文本 | string | - |
| disabled | 是否禁用 | boolean/Function | false |
| size | 输入框尺寸 | string | - |
| required | 是否必填 | boolean | false |
| validator | 自定义校验方法 | Function | - |
| multiple | 是否多选 | boolean | false |
| dictList | 选项的数据源 | array | [] |
| dictKey | 指定选项的值为选项对象的某个属性值 | string | dictKey |
| dictLabel | 指定节点标签为节点对象的某个属性值 | string | dictLabel |
| clearable | 是否可以清空选项 | boolean | true |
| filterable | 是否可筛选 | boolean | false |
| filterMethod | 自定义筛选方法的第一个参数是当前输入的值 | Function | - |
| teleported | 弹层是否使用teleport | boolean | true |
| showErrorTooltip | 是否展示错误提示 | boolean | true |
| changeFun | 当绑定值变化时触发的回调函数 | Function | - |
| showFun | 是否展示的判断函数,返回一个boolean值 | Function | - |