uiUI 组件系统
对比

树形浏览

Tree / Tree View

展示可展开的父子关系,并允许定位节点。

交互预览实时预览
输入与选择
导航与布局
展开分支并选择节点
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'tree'
);

view.element.addEventListener('ui:select', event => {
  console.log(event.detail.value);
});

// view.update({ ...nextProps });
// view.destroy();

什么时候用

目录、组织结构和嵌套资源。

什么时候不用

没有真实层级的平面列表不要强行用树。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
label"组件目录"
items[{"label":"输入与选择","children":[{"value":"text-input","label":"文本输入"},{"value":"checkbox","label":"复选框"}]},{"label":"导航与布局","open":false,"children":[{"v

事件

ui:select

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 展开与选择是两个不同动作。
  • 提供层级、展开状态及方向键导航。

和相似组件的区别

Tree 表达父子关系;Accordion 主要展开独立内容区块。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

Element PlusTree
官方提供

节点选择、展开与异步加载。

Ark UITree View
官方提供

跨框架树集合和交互部件。

Web AwesomeTree
官方提供

标准自定义元素树组件。

关键状态

折叠展开已选择异步加载

React / Next.js、Vue / Nuxt、Svelte / SvelteKit、Web Components、Solid · 来源核验

一起了解

折叠面板 ↗虚拟列表 ↗侧边导航 ↗