记录一下自己开发的问题,需要的小伙伴可以参考下
问题:使select框中的下拉数据改为自己想要的tree数据
解决方案:
<el-form-item label="名字:" prop="id">
<el-select ref="selectName" clearable placeholder="" v-model="handleForm.id" @clear="handleClear" style="width: 220px">
<!-- option标签上写hidden隐藏 -->
<el-option hidden key="id" :value="handleForm.id" :label="name" style="height: auto"> </el-option>
<el-tree :data="treeData" :props="DefaultProps" :expand-on-click-node="false" :check-on-click-node="true" @node-click="nodeClick"> </el-tree>
</el-select>
</el-form-item>
data() {
return {
//树数据
treeData: [],
//回显数据
name: '',
DefaultProps: {
children: 'children',
label: 'label',
},
}
},
methods: {
//清空
handleClear() {
this.name = ''
this.handleForm.id = ''
},
//树节点点击事件
nodeClick(data) {
// 树形组件点击节点后,设置选择器的值
this.name = data.name
this.handleForm.id = data.id
// 选择器执行完成后,使其失去焦点隐藏下拉框的效果
this.$refs.selectName.blur()
},
},
效果图:
注:option标签需写hidden隐藏