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

uniapp使用扩展组件uni-data-select出现的问题汇总

前言

不知道大家有没有学习过我的这门课程那,《uniCloud云开发Vue3版本官方推荐用法》,这么课程已经得到了官方推荐,想要快速上手unicloud的小伙伴们,可以学习一下这么课程哦,不要忘了给一键三连呀。

在录制这门课程的时候,可能在视频中出现的一些问题,没有发现或者没有解决,因此写一篇文章记录一下已知的bug以及扩展知识。

问题一:uni-data-select组件collection连数据库,orderby属性不能排序的问题

<uni-data-select ref="selectRef" collection="xxm-bizhi-classify"field="_id as value, name as text":where="`enable == true`"orderby="sort asc"v-model="selectValue">
></uni-data-select>

如上所示代码,如果想要根据数据库内的sort这个字段进行排序,这样写是起不到作用的,原因是field没有讲排序字段sort过滤出来。

解决办法: 只需要在field过滤的时候,将sort字段过来出来即可,如下所示:

field="_id as value, name as text , sort"

问题二:发布成功后,上传选择的分类值依然存在

这个问题,挺多小伙伴反映了,就是发布成功后,上次选择的下拉框值依然存在,很影响下一次的操作,官方文档也没给提供属性或方法解决,如下所示:

在这里插入图片描述
如果你进入到扩展组件uni-data-select内部的话,你就知道什么原因了,因为发布成功之后,会将你最后选择的值记录到缓存中,再次打开的话,会读取缓存,所以就一直存在了,如下代码是uni-data-select的方法:

// 获取缓存
getCache(name = this.getCurrentCacheKey()) {let cacheData = uni.getStorageSync(this.cacheKey) || {};return cacheData[name];
},
// 设置缓存
setCache(value, name = this.getCurrentCacheKey()) {let cacheData = uni.getStorageSync(this.cacheKey) || {};cacheData[name] = value;uni.setStorageSync(this.cacheKey, cacheData);
}

在这里插入图片描述

解决办法: 只需要在合适的场景下,调用组件的clearVal()方法即可。

//給uni-data-select组件定义ref
const selectValue = ref("");//可以在页面加载完毕后,执行clearVal()方法进行清除
onMounted(()=>{selectRef.value.clearVal();
})//或者在表单提交完成后清除
const submit = ()=>{...自己的业务逻辑;selectRef.value.clearVal(); //清空选择
}
http://www.lryc.cn/news/494134.html

相关文章:

  • 反向代理模块开发
  • 海康面阵、线阵、读码器及3D相机接线说明
  • AI与ArcGIS Pro的地理空间分析和可视化
  • 详解HTML5语言
  • docker compose一键启动ES集群和kibana
  • 遗传算法与深度学习实战(25)——使用Keras构建卷积神经网络
  • pytest+allure生成报告显示loading和404
  • 为何划分 Vue 项目结构组件?划分结构和组件解决了什么问题?为什么要这么做?
  • springboot中使用mongodb完成评论功能
  • Dubbo的RPC泛化调用
  • 【k8s深入理解之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
  • 接口性能优化宝典:解决性能瓶颈的策略与实践
  • 雨晨 Windows Server 2025 数据中心 极简 26311.5000
  • 关于IDE的相关知识之三【插件安装、配置及推荐的意义】
  • JSP+Servlet实现列表分页功能
  • 操作系统存储器相关习题
  • QUICK 调试camera-xml解析
  • 【linux】shell脚本编写基础
  • STM32 外设简介
  • Django-Vue3-Admin - 现代化的前后端分离权限管理系统
  • Cesium K-means自动聚合点的原理
  • Vue 项目中如何解决组件之间的循环依赖
  • 交通流量预测:基于交通流量数据建立模型
  • Hot100 - 搜索二维矩阵II
  • uart_pl011.c驱动API的zephyr测试
  • RPA:电商订单处理自动化
  • 小程序 - 个人简历
  • MySQL自启动失败(MySQL不能开机自启)解决方案_MySQL开机自启疑难杂症解决,适用Win11/Win10
  • 储存水..
  • Cmake 常用操作总结