1. 初识uniapp中的tki-tree组件
第一次在uniapp项目里看到tki-tree这个树形选择器组件时,我正遇到一个头疼的需求:需要让用户在省市县三级结构中选择收货地址。当时尝试了好几种方案都不理想,直到发现了这个宝藏组件。tki-tree最吸引我的地方是它完美支持多级嵌套数据展示,而且配置简单,就像搭积木一样容易上手。
这个组件本质上是一个增强版的树形选择器,支持单选、多选、父级选择等多种交互模式。我在电商项目里实测发现,它能轻松处理5级以上的数据层级,而且渲染速度比原生picker快不少。对于需要处理行政区划、组织架构、商品分类这类层级数据的场景,简直是救命稻草。
安装过程特别简单,直接从DCloud插件市场获取组件文件,放在项目commons目录下就行。我习惯把这类通用组件都放在commons文件夹里统一管理,这样不同页面都能方便调用。第一次引入时可能会遇到路径问题,记得检查import语句的路径是否正确,这是新手最容易踩的坑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 从零开始配置tki-tree
2.1 基础配置三步走
配置tki-tree就像组装乐高积木,三个核心部件缺一不可。首先是组件注册,在页面的script部分加入这段代码:
javascript复制import tkiTree from "@/commons/tki-tree/tki-tree.vue"
export default {
components: { tkiTree }
}
然后是模板部分,基础结构长这样:
html复制<tki-tree
ref="tkitree"
:range="treeData"
rangeKey="name"
confirmColor="#4e8af7"
/>
这里有个小技巧:ref属性一定要设置,后面通过this.$refs调用组件方法时会用到。rangeKey指定了显示文本对应的字段名,比如你的数据里用"label"而不是"name",这里就要相应调整。
最后是数据准备,建议在data里初始化一个空数组:
javascript复制data() {
return {
treeData: []
}
}
