更新记录

0.0.7(2026-07-22) 下载此版本

首次发布

  • 支持展开/收起、单选/多选、父子联动
  • 支持禁用节点、v-model、checked、goChild、updated
  • 支持搜索过滤、关键词高亮、懒加载和虚拟渲染
  • 支持微信小程序、支付宝小程序和 H5

平台兼容性

uni-app(4.15)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - -

uni-tree-view

npm version CI license

适用于 uni-app + Vue 3 的跨端树形列表/选择组件,一套代码运行在微信小程序、支付宝小程序和 H5。

📖 完整文档 · 快速上手 · API 参考 · 常见问题

特性

  • 🌲 展开收起、单选/多选、父子联动、严格模式、禁用节点
  • 🔍 关键词过滤、自定义匹配、命中高亮
  • ⚡ 固定行高虚拟渲染,万级节点流畅滚动
  • 🔌 懒加载子节点,内置加载态与失败重试
  • 🎨 主题色一个 prop 搞定,label/icon/append/empty 插槽自由定制
  • 📦 零运行时依赖,npm 与 uni_modules(插件市场)双通道分发

安装

pnpm add uni-tree-view

或在 DCloud 插件市场 导入插件 KieranYin9527-tree(显示名称:keryin-tree-view,easycom 免配置)。

使用

<template>
  <uni-tree-view
    v-model="checkedValue"
    show-checkbox
    multiple
    :data="treeData"
    @change="handleChange"
  />
</template>

<script setup>
import UniTreeView from "uni-tree-view";
import { ref } from "vue";

const checkedValue = ref([]);
const treeData = [
  {
    id: "building-a",
    label: "A 栋",
    children: [
      { id: "floor-a-1", label: "1 层" },
      { id: "floor-a-2", label: "2 层", disabled: true }
    ]
  }
];

function handleChange({ keys, nodes }) {
  console.log("当前选中:", keys);
}
</script>

showCheckbox 控制是否启用选择,multiple 控制单选/多选:

用法 行为
不传 showCheckbox 纯展示树
showCheckbox 单选(radio)
showCheckbox multiple 多选(checkbox,父子联动)

完整的 Props / Events / Slots / Methods 列表、懒加载与虚拟渲染示例请见 文档站

平台兼容性

平台 状态
H5 ✅ 构建 + 交互验证
微信小程序 ✅ 构建验证
支付宝小程序 ✅ 构建验证
App / 其他小程序 理论可用,未充分验证

实现层面的兼容性说明(hover-class、内联 iconfont、scroll-view 虚拟滚动等)见 平台兼容性文档

开发

pnpm install
pnpm play        # H5 playground
pnpm test        # 单元测试
pnpm build       # 构建组件包
pnpm docs        # 本地文档站

贡献前请阅读 CONTRIBUTING.md

License

MIT © OFreshman

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT License

Copyright (c) 2025-present OFreshman

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

暂无用户评论。