当前位置: 首页 > news >正文

van-cascader 异步加载

vant官网

异步加载选项

在使用级联选择时当一次性拿到数据量太大时不仅接口慢而且前端渲染页面也会变慢,用户体验很不好,建议使用异步加载选项,
拿到的接口让后端返回一个是否还有下一级的判断,不然van-cascader判断没有children的时候会自动结束的

可以监听 change 事件并动态设置 options,实现异步加载选项。

示例:

<van-popup v-model:show="showCascader" round position="bottom"><van-cascaderv-if="showCascader"  // 加上这个是因为在企微侧边栏使用的时候,操作偶尔会出现tabs歪的情况v-model="formData.id"title="请选择xxx":options="options"active-color="#1989fa":field-names="fieldNames"@change="onChange"@close="showCascader = false"@finish="onFinish"/>
</van-popup>

自定义字段名

后端定义的字段一开始可能不符合vant的默认字段,通过 field-names 属性可以自定义 options 里的字段名称。

const fieldNames = {// 换成后端返回的你需要的对应字段text: 'name',value: 'id',children: 'children'};

监听change事件,动态设置options

const onChange = ({value,selectedOptions}) => {getList({code:value}).then(res => { //请求接口res.data.map(item=>{if(item.children.length==0){ // 这个是和后端约定了如果没有子级,返回一个空数组,可以自己和后端约定一个可判断的值delete item.children}})addTree(selectedOptions, res.data, value)});};const addTree = (selectedOptions, children, id) =>{selectedOptions.forEach(item => {if (item.id=== id) {  // 注意这里是你要的valueitem.children = children}})}

这样就可以动态的获取到每一级下面的数据了

http://www.lryc.cn/news/156661.html

相关文章:

  • Golang单元测试举例
  • 汽车以太网协议栈
  • 数学建模--二次规划型的求解的Python实现
  • Ansible-palybook学习
  • 服务注册与服务发现
  • RabbitMQ从入门到精通之安装、通讯方式详解
  • 植物大战僵尸植物表(二)
  • UML基础
  • C# void 关键字学习
  • OA与CRM与ORACLE
  • 【C++杂货铺】探索list的底层实现
  • NX/UG二次开发—Parasolid—PK_BODY_pick_topols
  • 【校招VIP】前端算法考点之大数据相关
  • Goland2023版新UI的debug模式调试框按钮功能说明
  • 【AIGC专题】Stable Diffusion 从入门到企业级应用0414
  • 汇编原理学习记录:物理地址=段地址*16+偏移地址
  • mysql-2:安装mysql
  • gin框架
  • Laravel 完整开源项目大全
  • Spring MVC @Controller和@RequestMapping注解
  • 软件架构之前后端分离架构服务器端高并发演进之路
  • 第4节-PhotoShop基础课程-Ps格式
  • C语言malloc函数学习
  • 从零开始学习deepsort目标追踪算法----原理和代码详解
  • 第三章 LInux多线程开发 3.1-3.5线程创建 终止 分离
  • 空间曲线的参数方程
  • 非华为机型如何体验HarmonyOS鸿蒙系统 刷写HarmonyOS鸿蒙GSI系统以及一些初步的bug修复
  • Flutter 生成小程序的混合 App 实践
  • 利用 Python-user-agents 解析 User_Agent
  • Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis