el-cascader 动态获取options,默认选中第一个
时间: 2024-11-03 16:16:05 浏览: 25
在Element UI的`el-cascader`组件中,动态加载选项并且使其默认选中第一个选项,需要你在数据加载完成后更新组件的`options`属性,并且设置`v-model`绑定的值。
假设你的选项数据是从服务器异步加载的,可以这样做:
```vue
<template>
<el-cascader :options="loadedOptions" v-model="selectedValue" @ready="onOptionsReady"></el-cascader>
</template>
<script>
export default {
data() {
return {
loadedOptions: [],
selectedValue: [] // 初始化时可以为空,也可以设置成默认选项的ID
};
},
methods: {
async loadOptions() { // 模拟异步加载数据
const firstOption = this.options.find(option => option.value === '0'); // 找到第一个选项
await new Promise(resolve => setTimeout(resolve, 1000)); // 异步等待数据
this.loadedOptions = [firstOption]; // 将第一个选项添加到已加载的选项列表
},
onOptionsReady() {
this.selectedValue = this.loadedOptions[0].value; // 设置默认选中的值
},
},
mounted() {
this.loadOptions(); // 当组件挂载后立即加载选项
},
};
</script>
```
在这个例子中,我们首先模拟了一个异步操作来加载数据,当数据加载完成并通过`loadOptions`方法返回时,我们将第一个选项设置给`loadedOptions`,同时在`onOptionsReady`回调中设置`v-model`的值为默认项的`value`。
阅读全文