Skip to content

FxSelectTree 树形选择器

FxSelectTree 属于 @fx/components,组合 FxSelect + FxTree:下拉面板内渲染一棵树,选中节点同步为选择器的值。

下拉菜单中的树形选择器,结合了 FxTree 与 FxSelect 的能力。

基础用法

树形结构的选择器。

选择任意层级

使用 check-strictly 时可选择任意层级节点,否则只能选择叶子节点。

TIP

使用 show-checkbox 时,由于 check-on-click-node 默认为 false,只能通过勾选选择;如需点击节点即选中,可将其设为 true。

WARNING

使用 show-checkbox 时,由于 check-on-click-leaf 默认为 true,点击叶子节点(最末级)会同时切换其勾选状态。

多选

通过点击或 checkbox 进行多选。

禁用

通过 disabled 字段禁用节点。

可过滤

使用关键字过滤或自定义过滤方法。filter-method 自定义数据过滤;filter-node-method 自定义节点过滤。

自定义节点内容

自定义树节点的内容。

懒加载

树节点懒加载,适合大数据量列表。

使用 node-key

默认 modelValue 查找 value 字段;数据结构不同时需提供 node-key 才能正常工作。

TIP

  1. node-key 应全树唯一。
  2. value-keynode-key 作用相同。
  3. 与 FxSelect 不同,FxSelectTree 不支持取对象值。

API

FxSelectTree 组合了 FxTreeFxSelect 的能力,原属性不再重复,请前往对应组件查阅:

维度treeselect
AttributesFxTree AttributesFxSelect Attributes
EventsFxTree EventsFxSelect Events
SlotsFxTree SlotsFxSelect Slots
ExposesFxTree ExposesFxSelect Exposes

自有 Attributes

属性说明类型默认值
cache-data懒加载节点的缓存数据,结构同 data(含 value / label 等),用于获取未加载节点的 labelTreeNodeData[][]

Exposes

名称说明类型
treeRefFxTree 实例FxTreeInstance
selectRefFxSelect 实例FxSelectInstance
filter过滤所有树节点(value: unknown) => void
getCheckedKeys返回当前勾选的节点 key 数组(leafOnly?: boolean) => TreeKey[]
getCheckedNodes返回当前勾选的节点数据数组(leafOnly?: boolean, includeHalfChecked?: boolean) => TreeNodeData[]
setCheckedKeys勾选指定 key(keys: TreeKey[]) => void
getHalfCheckedKeys返回半选节点 key 数组() => TreeKey[]
getHalfCheckedNodes返回半选节点数据数组() => TreeNodeData[]
getCurrentKey返回当前高亮节点的 key() => TreeKey | null
getCurrentNode返回当前高亮节点的数据() => TreeNodeData | null
setCurrentKey设置高亮节点(key: TreeKey | null) => void
getNode按 data 或 key 获取节点(data: TreeKey | TreeNodeData) => unknown
focus聚焦输入框() => void
blur失焦并收起下拉() => void
selectedLabel当前选中标签ComputedRef<string>

局部引入

ts
import { FxSelectTree } from "@fx/components"