element-ui cascader根据后端给的数据回显
时间: 2023-07-05 20:21:24 浏览: 125
详解element-ui级联菜单(城市三级联动菜单)和回显问题
要根据后端给的数据回显element-ui cascader,需要将后端返回的数据转换成element-ui cascader要求的格式。具体步骤如下:
1. 获取后端返回的数据,假设数据格式如下:
```json
[
{
"value": "1",
"label": "一级分类",
"children": [
{
"value": "11",
"label": "二级分类1"
},
{
"value": "12",
"label": "二级分类2"
}
]
}
]
```
2. 根据element-ui cascader要求的格式,将数据转换成如下格式:
```json
[
{
"value": "1",
"label": "一级分类",
"children": [
{
"value": "11",
"label": "二级分类1",
"children": []
},
{
"value": "12",
"label": "二级分类2",
"children": []
}
]
}
]
```
注意,要将二级分类的children设置为空数组,否则element-ui cascader无法正确显示。
3. 将转换后的数据赋值给cascader组件的options属性即可实现回显。
```html
<el-cascader
v-model="selectedOptions"
:options="options">
</el-cascader>
```
```js
export default {
data() {
return {
selectedOptions: [], // 选中的选项
options: [] // 树形结构数据
}
},
mounted() {
// 获取后端数据并转换格式
const data = [
{
"value": "1",
"label": "一级分类",
"children": [
{
"value": "11",
"label": "二级分类1"
},
{
"value": "12",
"label": "二级分类2"
}
]
}
]
this.options = this.transformData(data)
},
methods: {
// 转换数据格式
transformData(data) {
return data.map(item => {
if (item.children && item.children.length) {
item.children = this.transformData(item.children)
} else {
item.children = []
}
return item
})
}
}
}
```
阅读全文