uniapp组件——异步级联面板(async-cascade-select)

异步级联面板(async-cascade-select)

同步/异步级联面板选择(支持异步数据加载,默认值设置等配置),针对城市和级联大数据量解决方案;提高交互和渲染性能

基本用法

导入方法:

  1. 直接使用 HBuilderX 导入插件
  2. 下载插件 zip ,将 async-cascade-select 文件夹复制到项目 uni_modules/components 文件夹中,import+components 引入。

使用方式(demo):

js 复制代码
	<template>
		<async-cascade-select :list="list" :async="isAsync" useName='name' @click="handleClick" :load-data="loadData"/>
	</template>

    <script>
	export default {
		data() {
			return {
				// 异步组件标识
				isAsync:true, // 类型:Boolean; 为true可不定义list, 为false则设置loadData级联请求数据
				// list 的 key 为'name',将 useName 指定为'name',默认值为'label'
				list: [
					// 三级城市数据
					{
						id: 1, name: '四川省', children: [
							{
								id: 11, name: '成都市', children: [
									{ id: 111, name: '武侯区', children: [] },
									{ id: 112, name: '锦江区', children: [] }
								]
							},
							{
								id: 12, name: '绵阳市', children: [
									{ id: 121, name: '涪城区', children: [] },
									{ id: 122, name: '游仙区', children: [] }
								]
							}
						]
					},
					// 五级城市数据
					{
						id: 2, name: '广东省', children: [
							{
								id: 21, name: '广州市', children: [
									{
										id: 211, name: '天河区', children: [
											{
												id: 2111, name: '天河北街道', children: [
													{ id: 21111, name: '天河北社区', children: [] }
												]
											}
										]
									}
								]
							}
						]
					}
				],
			};
		},
		
		methods: {
			// 异步加载数据方法
			async loadData(obj) {
				// 正常接口请求方式
				return new Promise((resolve) => {
					axios.get(data).then((res) => {
						if (res.code == 200) {
							let resArr = res.data.map(item => {
								return {
									name: item.cityName,
									id: item.id,
									index: (obj.index) + 1 || 0,
									children: []
								};
							})
							resolve(resArr)
						}
					}).catch((res) => {
						console.log(res, 'res')
					})
				})
			},

			handleClick(data) {
				console.log('data', data);
			}
		}
	};
    </script>

属性和事件配置

参数 类型 说明 是否必传
list Array 展示数组,list:{label:'', value:'',children:\[}] 是
useName String 指定对象要显示的 key,默认为 'label' 否
defaultValue Array 默认选中值,每一层级的id数组, 否
async Boolean 是否异步加载,默认'false',不异步加载,通过list数据使用 否
loadData Function 自定义异步加载方法,注意该函数指针this,使用箭头函数效果最佳 否
leftText String 重置按钮文字,默认为'重置' 否
isLevel Number 级联层数,默认为5级 否
事件名 说明 返回值
@click 点击数据层选项后触发,返回参数为选择数组 Array
@confirm 点击确认按钮后触发,返回参数为选择数组 Array
@reset 点击重置按钮后触发,无返回值 Array

特别鸣谢:lx-cascade-select 组件作者,基于此组件开发 我只是代码的搬运工,哈哈;有问题评论区交流,欢迎提供思路和优化方案; 有喜欢的点赞收藏下,给摊主一些信心和鼓励,谢谢!!! 链接:ext.dcloud.net.cn/plugin?id=2...

相关推荐
郑州光合科技余经理2 天前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
遗憾随她而去.4 天前
uniApp跨端开发: 解决不同平台显示差异问题
uni-app
程序鉴定师7 天前
2026年深圳小程序/App开发公司技术选型指南:从架构设计到交付标准全维度评估
java·小程序·uni-app·php·objective-c
Q26433650237 天前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码
qq_316837757 天前
阿里云百炼 fun-asr-realtime uniapp vue3 调用
javascript·vue.js·uni-app
特创数字科技8 天前
uniapp 图片全能处理|全平台支持(鸿蒙、安卓、苹果、web),实现九宫格、水印、滤镜、压缩、拼图
uni-app
2501_916007478 天前
苹果应用商店App Store上架费用标准及原因解析
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张9 天前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
特创数字科技9 天前
【uni-app x】告别系统相机限制!三端通用自定义相机组件:任意布局、静默拍照、录像、水印叠加、连拍回图一次搞定
前端·数码相机·uni-app
Martin -Tang9 天前
uniapp app嵌套webview 弹窗方式
android·ios·uni-app