为什么捐赠
API 资源管理器

Quasar 树表示一个高度可配置的组件,用于显示层次结构数据,例如以树结构显示目录。

正在加载 QTree API...

使用

基本

基本



没有连接线

没有连接线



密集
v2.2.4+

密集



强制暗模式

强制暗模式



性能注意事项
v2.9.2+

当使用相对较大的数据时,为了提高性能,我们建议使用 no-transition 布尔型 prop,它将显著提高运行时速度。

<q-tree no-transition ...

集成示例

使用 QSplitter 和 QTabPanels



更多信息:QSplitterQTabPanels

自定义内容

注意(在下面的示例中)默认的标题和主体插槽自定义。

默认标题和主体插槽



注意(在下面的示例中)自定义标题和主体插槽。

自定义节点



警告

单击或按下 SPACEENTER 键选择树项(并使自定义标题失去焦点)。

如果您不想发生这种情况,只需将自定义标题的内容包装在 <div @click.stop @keypress.stop> 中(或将监听器添加到正在发出它们的相应组件/元素中)。

手风琴、过滤和可选

在下面的示例中,当一个节点展开时,兄弟节点会收缩。

手风琴模式



过滤节点



可选节点



延迟加载

延迟加载节点



选择与勾选、展开

  • 选择(通过 QTree selected prop)是指当前选中的节点(以不同的背景突出显示)。
  • 勾选(通过 QTree ticked prop)是指与每个节点关联的复选框。
  • 展开(通过 QTree expanded prop)是指展开的节点。

上述所有属性都需要使用 v-model:<prop_name> 指令动态绑定,才能正常工作(例如:v-model:expanded)。

同步节点属性



勾选策略

有三种勾选策略:“leaf”、“leaf-filtered”、“strict”,另外还有默认的“none”,它禁用勾选。

策略描述
leaf勾选的节点仅为叶子节点。勾选一个节点也会影响父节点的勾选状态(父节点变为部分勾选或勾选),以及它的子节点(所有可勾选的子节点变为勾选)。
leaf-filteredleaf 相同的概念,只是此策略仅适用于已过滤的节点(过滤后仍然可见的节点)。
strict勾选的节点独立于父节点或子节点的勾选状态。

您可以为 QTree 应用全局勾选策略,并在 nodes 模型中指定 tickStrategy 来局部更改某个节点的勾选策略。

勾选策略



自定义过滤方法

您可以通过指定 filter-method prop 来自定义过滤方法。下面的方法根据输入是否也包含“(*)”进行过滤

自定义过滤器



节点模型结构

以下描述了节点的属性,这些属性会被 QTree 的 v-model 考虑。

节点属性类型不存在时的行为描述
<nodeKey>字符串,数字会生成一个错误节点的键。该键是从 nodeKey 属性中指定的键中提取的。
label字符串该项没有标签节点的标签。当设置 labelKey prop 时,标签将从该键中提取。
icon字符串使用默认图标节点的图标。
iconColor字符串使用继承的颜色节点的图标颜色。来自 Quasar 颜色调色板。
img字符串不显示图像节点的图像。使用 /public 文件夹。例如:“mountains.png”
avatar字符串不显示头像节点的头像。使用 /public 文件夹。例如:“boy-avatar.png”
children数组此节点没有子节点子节点的节点数组。
disabled布尔值该节点已启用节点是否已禁用?
expandable布尔值该节点可展开节点是否可展开?
selectable布尔值该节点可选节点是否可选?
handler函数不调用额外的函数单击节点时应调用的自定义函数。接收 node 作为参数。
tickable布尔值该节点根据勾选策略可勾选当使用勾选策略时,每个节点都会显示一个复选框。节点的复选框是否应禁用?
noTick布尔值节点显示一个复选框当使用勾选策略时,节点是否应显示一个复选框?
tickStrategy字符串使用“none”勾选策略仅为该节点覆盖全局勾选策略。其中之一:“leaf”、“leaf-filtered”、“strict”、“none”。
lazy布尔值子节点不会延迟加载子节点是否应延迟加载?在这种情况下,也不要指定“children” prop。
header字符串使用“default-header”插槽节点标题作用域插槽名称,不含必需的“header-”前缀。例如:“story” 指的是“header-story” 作用域插槽。
body字符串使用“default-body”插槽节点主体作用域插槽名称,不含必需的“body-”前缀。例如:“story” 指的是“body-story” 作用域插槽。