JavaScript TreeView 是一种用于展示层次结构数据的界面组件,它允许用户以树状图的形式查看和操作数据。TreeView 通常用于文件系统、组织结构、菜单导航等场景。
TreeView 的核心概念包括:
常见的 TreeView 类型包括:
以下是一个简单的 JavaScript TreeView 赋值示例,使用 HTML 和 JavaScript 实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TreeView Example</title>
<style>
ul.treeview {
list-style-type: none;
padding-left: 20px;
}
li {
cursor: pointer;
}
.node {
display: inline-block;
margin-right: 5px;
}
.expanded::before {
content: '▶ ';
}
.collapsed::before {
content: '▼ ';
}
</style>
</head>
<body>
<ul id="treeview" class="treeview">
<!-- TreeView will be populated here -->
</ul>
<script>
const data = {
name: "Root",
children: [
{ name: "Node 1", children: [{ name: "Node 1.1" }, { name: "Node 1.2" }] },
{ name: "Node 2", children: [{ name: "Node 2.1" }] },
{ name: "Node 3" }
]
};
function createTreeView(node, parentElement) {
const li = document.createElement('li');
const span = document.createElement('span');
span.className = 'node collapsed';
span.textContent = node.name;
li.appendChild(span);
if (node.children && node.children.length > 0) {
const ul = document.createElement('ul');
li.appendChild(ul);
node.children.forEach(child => createTreeView(child, ul));
}
span.addEventListener('click', function() {
this.classList.toggle('expanded');
this.classList.toggle('collapsed');
const ul = this.nextElementSibling;
if (ul && ul.tagName === 'UL') {
ul.style.display = ul.style.display === 'none' ? 'block' : 'none';
}
});
parentElement.appendChild(li);
}
const treeviewElement = document.getElementById('treeview');
createTreeView(data, treeviewElement);
</script>
</body>
</html>
.expanded
和 .collapsed
能够正确切换。createTreeView
函数重新生成 TreeView。通过以上示例和解决方案,你应该能够理解和实现基本的 JavaScript TreeView 功能,并解决常见的应用问题。
领取专属 10元无门槛券
手把手带您无忧上云