uniapp无限级树形结构组件,支持多选,单选,搜索,无限级面包屑类型导航

3,491 阅读2分钟

1. 动态加载数据版本(仅支持单选+展示)

每一级都是动态请求数据,优化了数据量多的问题

单选的效果图

在这里插入图片描述

获取动态加载版本请加wx: 122720267

2. 完整版(无动态加载)

对基础版进行重构,与基础版的代码逻辑完全不一样,更高效,功能更完整,推荐使用

1.1功能介绍

1、多选: 支持多选任意多项,支持关联子级,仅选中子级,全选,半选状态
2、支持自定义显示内容(slot),自定义内容样式
3、单选状态可以回显选中的位置路径
4、只需传checkList字段就可以回显默认选中

图1 多项选择,选择任意多项

在这里插入图片描述

图2 多项选择,关联子级,支持全选,和取消全选,半选状态

在这里插入图片描述

2、单选

图1 可以选择任意一项或只能选择子项,选择后进入可以自动切换到选中页面的路径

在这里插入图片描述

参数说明

参数类型是否必填默认值说明
treesArray[ ]传入的树形结构数据,每个对象必须包含唯一的id值
searchIfBooleantrue是否开启搜索框
parentBooleantrueprop.checkStrictly为true时生效,当子级全选时选中父级数据
isCheckBooleanfalse是否开启选择操作,值是false时仅展示,无操作
propsObject{label:'name',children:'children'}参数配置,详细见下表
checkListArray[]默认选中值,根据id字段匹配

方法

方法名参数说明
sendValuevalval 接收选中的数据,数据类型为数组
props参数说明
参数类型是否必填默认值说明
labelstringname指定选项标签为选项对象的某个属性值
childrenstringchildren指定选项的子选项为选项对象的某个属性值
multipleBooleantrue值为true时为多选,为false时是单选
checkStrictlyBooleanfalse需要在多选模式下才传该值,checkStrictly为false时,可让父子节点取消关联,选择任意一级选项。为true时关联子级,可以全选
nodesBooleantrue在单选模式下,nodes为false时,可以选择任意一级选项,nodes为true时,只能选择叶子节点
props参数示例
	props: {//多项模式(任意选中多项)
		label: 'name',
		children: 'children',
		multiple:true
	},
	props: {//多项模式(关联子级)
		label: 'name',
		children: 'children',
		multiple:true,
		checkStrictly:true
	},
	props: {//单选模式(任意一项)
		label: 'name',
		children: 'children',
		multiple:false,
		nodes:false
	},
	props: {//单选模式选user
		label: 'name',
		children: 'children',
		multiple:false,
		nodes:true
	}*
slot插槽,自定义显示内容,可以组合多字段
	<xiaolu-tree  v-slot:default="{item}" :checkList="checkList" :positionArr="positionArr" v-if="tree.length>0" :props="prop" @sendValue="confirm" :isCheck="false" :trees="tree">
		<!-- 内容插槽 -->
		<view>
			<view class="content-item">
				<view class="word">{{item.name}}</view>
			</view>
		</view>
		<!--end -->
	</xiaolu-tree>

持续维护更新

示例地址:点击跳转