mirror of
https://gitee.com/layui/layui.git
synced 2025-06-28 13:34:27 +08:00

* feat: 重构 laytpl,增强对更多复杂模板结构的解析能力 * Squashed commit of the following: commit6884f80378
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:45:58 2025 +0800 release: v2.10.1 commit8d643ad6dc
Merge:5521e48c
213fe5a2
Author: corededitor <107152508+corededitor@users.noreply.github.com> Date: Wed Mar 19 14:24:50 2025 +0800 feat: Merge pull request #2566 from layui/feat/component feat: 优化 component, tabs 若干功能 commit213fe5a209
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:15:39 2025 +0800 docs: 添加 component 文档中实验性选项标记 commit5521e48c05
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:10:46 2025 +0800 fix: 修复 `body` 初始 `line-height` 无效的问题 (#2569) commit8c7cf0f606
Author: 青崖 <33601030+bxjt123@users.noreply.github.com> Date: Wed Mar 19 14:10:08 2025 +0800 优化 checkbox 标签风格选中且禁用时的显示 (#2563) commit23b21254d4
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:04:44 2025 +0800 docs: Squashed commit of the following: commit95a0503f41
Merge:e6eb86ba
87ba4c43
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:03:13 2025 +0800 Merge branch 'main' into 2.x commite6eb86bacb
Author: morning-star <26325820+Sight-wcg@users.noreply.github.com> Date: Wed Mar 19 14:02:05 2025 +0800 docs(slider): 修正错别字 (#2578) commit46f7a9783e
Merge:df1fc4f4
c204590a
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Fri Mar 14 19:07:50 2025 +0800 Merge branch 'main' into 2.x commitdf1fc4f419
Author: itletu <itletu@163.com> Date: Mon Mar 10 13:54:06 2025 +0800 docs: 更正 class 公共类文档错误 (#2544) | layui-border-box | 设置元素及其所有子元素均为 `box-sizing: border-box` 模型的容器 | commit87ba4c4394
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:41:33 2025 +0800 docs(version): 优化 2.9.x 锚点 commita0f533f0fd
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:37:29 2025 +0800 docs: 修复 tabs 文档示例异常问题 commit0f0584e2ed
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:35:00 2025 +0800 docs: 修复 tabs 文档中自定义事件示例重新点击 Preview 失效的问题 commit172957d243
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:29:09 2025 +0800 docs: 优化文档中的用词细节 (#2571) commit094be4ddcc
Author: letianpailove <113023596+letianpailove@users.noreply.github.com> Date: Wed Mar 19 13:28:46 2025 +0800 fix: 更正 class 公共类文档错误 (#2562) commit53ded26cb9
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:15:25 2025 +0800 fix: 优化 tabs 重载时未按照传入的 closable 正确渲染可关闭状态 commitbd892bf87e
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:15:17 2025 +0800 feat(component): 新增 cache 原型方法,用于元素缓存操作 commit6ccc5a453d
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:14:18 2025 +0800 fix(component): 优化元素 lay-options 属性上的配置在重载时的优先级 commit79b0a56f50
Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:13:55 2025 +0800 fix(component): 修复 reload 时传入的选项未正确合并的问题 * refactor(laytpl): 优化代码细节 * docs: 重写 laytpl 模块文档
129 lines
2.9 KiB
Markdown
129 lines
2.9 KiB
Markdown
---
|
|
title: 树组件 tree
|
|
toc: true
|
|
---
|
|
|
|
# 树组件
|
|
|
|
> 树组件 `tree` 是以树形为结构的菜单伸缩型组件,*当前版本中,`tree`主要用于树菜单展示,交互性相对较弱。*
|
|
|
|
<h2 id="examples" lay-toc="{anchor: null}" style="margin-bottom: 0;">示例</h2>
|
|
|
|
<div>
|
|
{{- d.include("/tree/detail/demo.md") }}
|
|
</div>
|
|
|
|
<h2 id="api" lay-toc="{hot: true}">API</h2>
|
|
|
|
| API | 描述 |
|
|
| --- | --- |
|
|
| var tree = layui.tree | 获得 `tree` 模块。 |
|
|
| [tree.render(options)](#render) | tree 组件渲染,核心方法。 |
|
|
| [tree.getChecked(id)](#getChecked) | 获取选中的节点数据 |
|
|
| [tree.setChecked(id, idArr)](#setChecked) | 设置对应 id 的节点选中 |
|
|
| [tree.reload(id, options)](#reload) | tree 实例重载 |
|
|
|
|
<h3 id="render" lay-toc="{level: 2}">渲染</h3>
|
|
|
|
`tree.render(options);`
|
|
|
|
- 参数 `options` : 基础属性选项。[#详见属性](#options)
|
|
|
|
<h3 id="options" lay-toc="{level: 2, hot: true}">属性</h3>
|
|
|
|
<div>
|
|
{{- d.include("/tree/detail/options.md") }}
|
|
</div>
|
|
|
|
<h3 id="options.data" lay-toc="{level: 3, hot: true}">data 格式</h3>
|
|
|
|
<div>
|
|
{{- d.include("/tree/detail/options.data.md") }}
|
|
</div>
|
|
|
|
<div id="options.customName" class="ws-anchor">
|
|
|
|
您可以对上述 `data` 中常用的字段进行自定义名称 <sup>2.8.14+</sup> :
|
|
|
|
</div>
|
|
|
|
```
|
|
var tree = layui.tree;
|
|
// 渲染
|
|
tree.render({
|
|
elem: '', // 绑定元素选择器
|
|
id: 'test', // 自定义 id 索引
|
|
data: [], // 数据源
|
|
customName: { // 自定义 data 字段名 --- 2.8.14+
|
|
id: 'id',
|
|
title: 'title',
|
|
children: 'children'
|
|
},
|
|
// 其他属性 …
|
|
});
|
|
```
|
|
|
|
<h3 id="getChecked" lay-pid="api" class="ws-anchor">获取选中的节点数据</h3>
|
|
|
|
`tree.getChecked(id);`
|
|
|
|
- 参数 `id` : 对应 tree 渲染时定义的 id 属性值
|
|
|
|
```
|
|
var tree = layui.tree;
|
|
|
|
// 渲染
|
|
tree.render({
|
|
elem: '', // 绑定元素选择器
|
|
id: 'test', // 自定义 id 索引
|
|
// 其他属性 …
|
|
});
|
|
|
|
// 获取选中的节点数据
|
|
var checkData = tree.getChecked('test');
|
|
```
|
|
|
|
<h3 id="setChecked" lay-pid="api" class="ws-anchor">设置对应 id 的节点选中</h3>
|
|
|
|
`tree.setChecked(id, idArr);`
|
|
|
|
- 参数 `id` : 对应 tree 渲染时定义的 id 属性值
|
|
- 参数 `idArr` : 对应 tree 渲染时的 data 中的 id 属性值。数组格式,可设置多个。
|
|
|
|
```
|
|
var tree = layui.tree;
|
|
|
|
// 渲染
|
|
tree.render({
|
|
elem: '', // 绑定元素选择器
|
|
id: 'test', // 自定义 id 索引
|
|
// 其他属性 …
|
|
});
|
|
|
|
// 设置对应 id 的节点选中
|
|
tree.setChecked('test', [1, 3]); // 批量勾选 id 为 1,3 的节点
|
|
```
|
|
|
|
<h3 id="reload" lay-toc="{level: 2}">重载</h3>
|
|
|
|
`tree.reload(id, idArr);`
|
|
|
|
- 参数 `id` : 对应 tree 渲染时定义的 id 属性值
|
|
- 参数 `options` : 基础属性选项。[#详见属性](#options)
|
|
|
|
```
|
|
var tree = layui.tree;
|
|
|
|
// 渲染
|
|
tree.render({
|
|
elem: '', // 绑定元素选择器
|
|
id: 'test', // 自定义 id 索引
|
|
// 其他属性 …
|
|
});
|
|
|
|
// 重载
|
|
tree.reload('test', { // options
|
|
data: []
|
|
});
|
|
```
|