后端:后端返回的结果格式res如下
[{"value": 'zhinan',"label": '指南',"children": [{"value": 'shejiyuanze',"label": '设计原则',"children": [{"value": 'yizhi',"label": '一致'}, {"value": 'fankui',"label": '反馈'}, {"value": 'xiaolv',"label": '效率'}, {"value": 'kekong',"label": '可控'}]}]}]
前端:前端编写级联选择框。【可以将上述结果以变量的形式直接放到前端进行测试】
- <template>内:添加级联选择器
- export内:在data内声明变量options
- methods内:编写函数将后端返回【或者前端的静态结果res】赋值给options
- 项目代码过多,这里只展示其中的关键代码
<button v-on:onSelect="onLayerFileSelect">这里按钮代替普通选择器</button><el-cascaderv-model="note_name"type="text"placeholder="请选择属性字段"style="width: 275px; height: 25px; margin-left: 20px; margin-top: 30px"filterableclearablecollapse-tags:options="options":props="{multiple:true}"></el-cascader>
export default {name: "Test",components: {//TestFileSelect,//LayerFileSelect,},data() {return {options: [],};},methods: {onLayerFileSelect: function (value) {axios.get(get_feature_fileds_api, {params: {gdb_name: value[0], layer_name: value[1]}}).then((res) => {this.options = res.data// this.lvalue=value// console.log(value)})// this.options = [// {// "label": "OBJECTID",// "value": "OBJECTID"// },// {// "label": "Shape",// "value": "Shape"// },// ]// console.log("OKKKKK",)},
};
注:get_feature_fileds_api, {params: {gdb_name: value[0], layer_name: value[1]}} 分别是Ajax与后端交互的后端接口以及后端定义的参数。
结果: