当前位置:首页 > VUE

vue-treeselect实现多选

2026-01-22 04:50:07VUE

vue-treeselect 多选实现方法

vue-treeselect 是一个基于 Vue.js 的多级树形选择组件,支持单选和多选模式。以下是实现多选功能的具体方法:

安装与引入

确保已安装 vue-treeselect 依赖:

npm install @riophae/vue-treeselect

在组件中引入:

import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'

基础多选配置

在组件模板中添加 Treeselect 并启用多选:

<treeselect
  :multiple="true"
  :options="options"
  v-model="selectedValues"
/>

关键属性说明

  • multiple: 设置为 true 启用多选模式

    vue-treeselect实现多选

  • options: 树形数据源,格式示例:

    options: [
    {
      id: 'group1',
      label: 'Group 1',
      children: [
        { id: 'item1', label: 'Item 1' },
        { id: 'item2', label: 'Item 2' }
      ]
    }
    ]
  • v-model: 绑定选中的值数组

高级功能配置

限制选择数量:

vue-treeselect实现多选

<treeselect
  :multiple="true"
  :limit="3"
  :options="options"
  v-model="selectedValues"
/>

显示选择数量:

<treeselect
  :multiple="true
  :show-count="true"
  :options="options"
  v-model="selectedValues"
/>

异步加载数据

实现异步加载子节点:

async-load-options({ action, parentNode, callback }) {
  if (action === LOAD_CHILDREN_OPTIONS) {
    setTimeout(() => {
      parentNode.children = [
        { id: `${parentNode.id}-child`, label: `${parentNode.label} Child` }
      ]
      callback()
    }, 1000)
  }
}

样式定制

通过 CSS 覆盖默认样式:

.vue-treeselect__control {
  border-radius: 4px;
}
.vue-treeselect__menu {
  max-height: 300px;
}

注意事项

  1. 多选模式下 v-model 绑定的是数组
  2. 节点 id 必须唯一
  3. 大数据量建议使用异步加载
  4. 可通过 flat 属性控制是否允许选择父节点

完整文档参考:vue-treeselect GitHub

标签: 多选vue
分享给朋友:

相关文章

vue实现选择季度

vue实现选择季度

Vue 实现选择季度的几种方法 使用下拉选择框(Select) 在 Vue 中可以通过 v-model 绑定一个下拉选择框来实现季度选择。数据可以预先定义为一个包含季度选项的数组。 <…

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…

vue状态管理怎么实现

vue状态管理怎么实现

Vue 状态管理实现方法 使用 Vuex(官方推荐) Vuex 是 Vue 的官方状态管理库,适合中大型应用。 安装 Vuex: npm install vuex --save 创建 Store 示…

vue实现星星

vue实现星星

实现星星评分的Vue组件 使用Vue实现星星评分功能可以通过组件化方式完成,以下是一个完整的实现方案: 模板部分 <template> <div class="star-…

vue实现https

vue实现https

Vue 中实现 HTTPS 的步骤 在 Vue 项目中实现 HTTPS 主要涉及开发环境配置和生产环境部署。以下是具体方法: 开发环境配置(Vue CLI 或 Vite) 使用 mkcert…

vue 实现豆瓣

vue 实现豆瓣

以下是基于 Vue 实现豆瓣电影类功能的实现方案,涵盖核心模块和技术要点: 数据获取与 API 调用 使用豆瓣开放 API(需注意调用频率限制)或第三方代理接口 推荐 axios 进行异步请求,配…