cascader 动态加载 回显_el-cascader + 动态多级懒加载

在Vue项目中,使用el-cascader组件实现省市区的动态多级懒加载,并结合input解决回显问题。通过设置cascader的透明度,当regionPlaceholder不为空时,input显示,cascader隐藏,反之则隐藏input,显示cascader。在change事件中更新regionPlaceholder,而在回显时将接口返回的省市区名称赋值给regionPlaceholder,实现回显效果。
摘要由CSDN通过智能技术生成

有个需求,是vue 框架选择省市区,然后省市区是一级一级根据接口回来的

有两个问题: 1.如果一级一级动态加载;2.如何回显

用的方法就是,在el-cascader 下面放一个input,然后动态控制cascader的透明度

// input

//cascader

// html

class="my-cascader"

:style="{opacity: regionPlaceholder ? '0' : '1' }"

v-model="formDoctor.orgRegionCode"

:options="options_cascader"

:props="props_cascader"

separator="-"

@change="changeCascader"

>

// 配置

options_cascader: {},

regionPlaceholder: '',

props_cascader: {

label: "regionName",

value: "regionCode",

children: "cities",

emitPath: false,

您好!针对您的问题,我理解您是想在 el-cascader 中进行动态加载,并且在回显数据时能够正确展示。这里提供一个简单的思路,供您参考: 1. 在 el-cascader 中设置 lazy 属性为 true,这样子组件将会以懒加载的方式进行数据加载; 2. 在回显数据时,将对应的数据存储在一个数组中,例如 selectedOptions; 3. 在 el-cascader 中设置 value 属性为 selectedOptions,这样子组件将会自动根据 value 属性的值进行选项的展开和选中。 关于具体的代码实现,可以参考下面的示例: ``` <template> <el-cascader :options="options" :lazy="true" :value="selectedOptions" @change="handleChange" ></el-cascader> </template> <script> export default { data() { return { options: [], // 级联选项数据 selectedOptions: [], // 回显数据 }; }, created() { // 通过异步请求获取级联选项数据 this.fetchOptions().then((options) => { this.options = options; }); // 获取回显数据 this.fetchSelectedOptions().then((selectedOptions) => { this.selectedOptions = selectedOptions; }); }, methods: { // 异步请求获取级联选项数据 fetchOptions() { // ... }, // 异步请求获取回显数据 fetchSelectedOptions() { // ... }, // 当选中项发生变化时触发 handleChange(value) { this.selectedOptions = value; }, }, }; </script> ``` 需要注意的是,以上代码仅提供一个思路,具体实现还需要根据您的具体需求进行调整。希望能够对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值