vue treeselect 下拉框树tree插件 真实数据渲染

首先在项目中下载npm install --save @riophae/vue-treeselect
在要用的vue页面上

import Treeselectfrom ‘@riophae/vue-treeselect’

import ‘@riophae/vue-treeselect/dist/vue-treeselect.css’

加入到组件中

components: {Treeselect},

在template模板中
:defaultExpandLevel=“10” 默认展开几级树结构,我只有两级,所以默认展开两级
:normalizer="normalizer"是把数据按treeselect的格式过滤
:clearable=“false” 取消叉号

 <span><treeselect:defaultExpandLevel="2"@select="treeSelect"style="width: 80%":options="treeData":value="treeSelectvalue":normalizer="normalizer"placeholder="请选择单位":clearable="false"/></span>

data中定义 treeData

 treeData: [], //树的数据源

created中调用方法

  created() {this.getQsfirstuser();},

if (item.aid == 10000) {
item.childList = null
}
因为有个特殊要求,有一个指定项一级菜单不展示下面的二级,其他的正常展示。
找到一级菜单的id,让他的children子项数组为空(我这里的children实际叫childList )

//获取树数据
getQsfirstuser() {getGzwSelectTree({ level: 2 }).then(res => {if (res && res.code === 0) {res.data.forEach(item => {if (item.aid == 10000) {item.childList = null}})this.treeData = res.datathis.treeSelectvalue = res.data[2].childList[4].id}})},

按treeselect的格式过滤数据,id、label和children的值换成node中对应的,先log打印一下node,找到对应的

 normalizer(node) {return {id: node.id,label: node.name,children: node.childList}},

如果加载数据后,下拉框的数据显示不完全,有被遮挡的情况,添加属性 :appendToBody=“true” 即可。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部