<el-select
width="100%"
ref="selectTree"
:popper-append-to-body="false"
popper-class="select-tree"
v-model="form.name"
placeholder="请选择"
@focus="loadTreeData"
>
<el-option
:value="form.code"
style="height: auto"
:label="form.name"
>
<div class="tree">
<el-tree
ref="tree"
:data="treeData"
:expand-on-click-node="true"
:props="defaultProps"
node-key="code"
:default-expanded-keys="groupExpandedKey"
:highlight-current="true"
:filter-node-method="filterNode"
@node-click="handleNodeClick">
</el-tree>
</div>
</el-option>
</el-select>
data
defaultProps: {
children: 'children',
label: (data, node) => {
return data.name
},
isLeaf: (data, node) => {
if (typeof data.leaf !== 'undefined') {
return data.leaf
} else {
return true
}
}
}
js
/**
* 根据关键字筛选组织
* */
filterNode (value, data, node) {
return data.name.indexOf(value) !== -1
},
/**
* 点击节点的操作
*/
handleNodeClick (data, node) {
this.groupExpandedKey = []
this.$refs.selectTree.blur() // 使el-select失去焦点,关闭下拉框
this.form.name = data.name
this.form.code = data.code
},