Cascader 级联选择器

当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择。

使用方法

API

参数 说明 类型 可选值 默认值
source 数据源 array
selected 选中项绑定值 array
popover-height 弹出框高度 string
load-data 加载动态数据的方法 function(node, callback), node为当前点击的节点,resolve为数据加载完成的回调(必须调用)

笔记

  • 要实现不限定深度的层级结构,可以使用 cascader-item 递归组件
  • 动态加载数据时,为了更准确的显示节点的是否还有子节点的状态,需要在节点数据添加是否为叶子节点的标志位(isLeaf),这是参考的 element cascader 动态加载
  • 动态加载数据时,把获取的数据插入点击的数据节点之中,可以通过 this.$set 实现,但是这修改了 props, 不符合 Vue 单向数据流的原则, 所以还是通过事件更新
  • popover 时做过的点击浮层外部关闭浮层的 DOM 操作可以通过 vue 提供的自定义指令 进行封装