npm 包 v-tree-select 使用教程

阅读时长 6 分钟读完

v-tree-select 是一个基于 Vue.js 的 npm 包,能够提供可折叠的树形结构选择器组件。在前端开发中,树形结构的数据展示和选择往往是不可避免的需求场景,因此掌握 v-tree-select 的使用,能够提高我们工作的效率。

安装

在使用 v-tree-select 之前,需要先安装它。可以使用 npm 命令行工具进行安装:

使用

使用 v-tree-select 需要先在 Vue 中导入该组件:

在组件中进行注册:

接着,可以使用 <v-tree-select> 标签在模板中进行使用。

其中,treeData 为组件所需的数据源。这个数据源应该是一个数组,每个元素代表树的一个节点,该元素应至少包含两个 key-value,一个是 label,表示待展示的文本,另一个是 children,表示子节点数组。

-- -------------------- ---- -------
------ -
  ------ -
    --------- -
      -
        ------ ------
        --------- -
          -
            ------ --------
            --------- --
          -
        -
      --
      -
        ------ ------
        --------- --
      -
    -
  -
-

至此,便完成了 v-tree-select 组件的基本使用配置。

深度学习

除了基本使用,我们可以进一步学习 v-tree-select 的属性及事件,以掌握更多使用技巧。

属性

属性名 类型 默认值 描述
data Array [] 数据源
multiple Boolean false 是否多选
max-selection Number -1 最大可选数(仅当 multiple 为 true 时生效)
expand-all Boolean false 是否展开所有节点
expand-all-level Number -1 展开所有节点的最大层数

其中,max-selectionexpand-all-level 为限制条件。当 max-selection 不为 -1 时,用户选择超出最大限制数后将不能再选择;当expand-all-level 不为 -1 时,展开树的层数不得超过该值。

事件

事件名 参数 描述
selected-change Array 选中的节点数组
expanded-change Array 展开的节点数组

示例代码

下面通过示例说明如何使用 max-selection 限制选择数量:

-- -------------------- ---- -------
----------
  -------------- ---------------- ------------------ ---------------- ----------------------------------------------------
-----------

--------
------ ----------- ---- ---------------

------ ------- -
  ----------- -
    -----------
  --
  ------ -
    ------ -
      --------- -
        -
          ------ ------
          --------- -
            -
              ------ --------
              --------- --
            --
            -
              ------ --------
              --------- --
            --
            -
              ------ --------
              --------- --
            -
          -
        --
        -
          ------ ------
          --------- --
        --
        -
          ------ ------
          --------- -
            -
              ------ --------
              --------- -
                -
                  ------ ----------
                  --------- --
                -
              -
            --
            -
              ------ --------
              --------- --
            -
          -
        -
      --
      -------------- --
    -
  --
  -------- -
    ------------------------------- -
      ------------------ - -------------
    --
  -
-
---------

在上述代码中,我们设置了 max-selection 为 2,即最多选择两个节点。当用户选择了两个节点之后,其他未选中的节点即能被勾选但不再是可点击状态。选择两个节点后,@selected-change 事件将被触发,此时我们可以获取到选择的节点,存储到 selectedNodes 中。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005601c81e8991b448de47c

纠错
反馈