Vue 实现下拉菜单树

效果:使用 Vue-Treeselect 实现
在这里插入图片描述
使用 npm 安装 vue-treeselect。

npm install --save @riophae/vue-treeselect

基础属性

multiple: 设置 true 为允许选择多个选项(又名多重选择模式)。
options: 可用选项的数组。
normalizer:自定义键名,可以更改 vue-treeselect options 所需的 id,label,children 名称

官网实例 更多配置属性方法请查看官网

<!-- Vue SFC -->
<template>
  <div class="dataStatisticsAnalysis" id="app">
    <treeselect class="treeselect-main" :normalizer="normalizer" v-model="value" :multiple="true" :options="options" />
  </div>
</template>

<script>
  // 1、引入组件(固定写法,无需变更路径)
  import Treeselect from '@riophae/vue-treeselect'
  // 2、引入组件样式 也不可以不引入
  import '@riophae/vue-treeselect/dist/vue-treeselect.css'

  export default {
    // register the component
    components: { Treeselect },
    data() {
      return {
        // define the default value
        value: null,
        // define options
        options: [ {
          id: 'a',
          label: 'a',
          children: [ {
            id: 'aa',
            label: 'aa',
          }, {
            id: 'ab',
            label: 'ab',
          } ],
        }, {
          id: 'b',
          label: 'b',
        }, {
          id: 'c',
          label: 'c',
        } ],
        normalizer(node) {
        	return {
          		id: node.id,
          		label: node.label,
          		children: node.children,
          	}
      	},
      }

    },
  }
</script>

/* Treeselect 自定义的样式*/
.treeselect-main {
  width: 204px;
  line-height: 30px;
}
.dataStatisticsAnalysis /deep/ .vue-treeselect__placeholder {
  line-height: 30px;
}
.dataStatisticsAnalysis /deep/ .vue-treeselect__control {
  height: 30px;
}
.dataStatisticsAnalysis /deep/ .vue-treeselect__single-value {
  height: 30px;
  line-height: 30px;
  font-size: 14px;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值