基于element-ui的select和tree,写一个下拉选择树
下拉树。实际开发中有很多使用场景,但是组件不一定能满足项目开发的需要,所以自己封装了一个。说明:下拉树以表格的形式逐一展示片段代码,无法正常运行,所以主要传达一种解决思路。如果您有任何问题,请纠正我。template:filterdeptTree($event,scope.$index)">changeChoosedDept($event,scope.row,scope.$index)":indent="10"node-key="code":expand-on-click-node="false"accordion:filter-node-method="filterdeptNode":data="depttreelist">{{data.code}}
{{data.name?data.name:data.code}} js:/***select-tree搜索联动*filterTree为selectfilter,获取输入的内容触发filteNode*filterNode为treefilter***/filterdeptTree(val,index){this.$nextTick(()=>{if(this.$refs['deptselectree'+index]&&this.$refs['deptselectree'+index][0]){this.$refs['deptselectree'+index][0].filter(val)}})},filterdeptNode(value,data){if(!value)returntrue;vardataarr=[]if(data.name){dataarr.push(data.name)}if(data.code){dataarr.push(data.code)}vardatastring=JSON.stringify(dataarr)返回datastring.indexOf(value)!==-1;},/***点击部门触发行对应的部门和部门名称的变化*参数为:点击节点、行数据、行索引***/changeChoosedDept(deptdata,data,index){letthat=这个;this.$nextTick(()=>{this.$set(data,'dept',deptdata.code)this.$set(data,'deptname',deptdata.name)})},因为css相当于embeddingatreeinselect,所以需要在style上复制原来的组件样式。select-with-tree{宽度:100%;}。swt-option{&.el-select-dropdown__item{高度:自动;填充:0;&.selected{字体粗细:正常;}}}.role-dept-tree-node{.tree-title-code{float:right;//宽度:150px;文本对齐:右;右边距:20px;}.tree-title{margin-right:170px;}}显示效果