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

uni-app:动态禁止下拉列表展示情况(如果下拉列表数据为空就拦截下拉框展示,显示提示信息)

效果

如下图,需要当批号的下拉栏位存在数据的时候,才会展示下拉框,现在即使数据为空也会展示下拉框


修改后的效果,只出现提示,不展示下拉框

代码

1、页面展示

  •  设置picker下拉框的外层点击事件,点击事件出现提示信息(onchange是选择之后才会执行的,这里不展示下拉框也没有数据,所以不会执行此方法)
  • 设置picker的禁用事件,如果数据为空就禁止,部不为空就启用    
<view class="position_all2">
	<view class="scan2">
		<view class="position_line2_1">
			<view class="line2_1_title">
				批号:
			</view>
			<view class="right" @click="onPickerClick">
				<picker mode="selector" :disabled="!selectDatas3 || selectDatas3.length == 0" :range="selectDatas3" @change="onLotNumChange">
					<view class="picker">
						{{selectedLotNum?selectedLotNum:'请选择'}} >
					</view>
				</picker>
			</view>
		</view>
	</view>
</view>

2、data数据

selectDatas3:存放下拉列表中的数据,这里是全部的批次号

selectedLotNum:从下拉列表中选中的数据,这里是选中的批次号

data() {
	return {
		selectDatas3: [], //下拉列表批号的信息
		selectedLotNum: '', //选择批次号		
	}
},

3、js

①获取批次号信息get_lotnum

②点击事件判断是否进行不存在提示onPickerClick

③选择事件对下拉列表中数据进行选择执行的方法onLotNumChange

//点击批号出现的效果
onPickerClick() {
	if (!this.selectDatas3 || this.selectDatas3.length === 0) {
		uni.showToast({
			title: '请选择制令单/确认制令单是否存在批号',
			icon: 'none'
		});
		return false; // 阻止默认行为
	}
},
//选择批号
onLotNumChange(event) {
	if (!this.selectDatas3) {
		uni.showToast({
			title: '请选择批次号',
			icon: 'none'
		})
	} else {
		this.selectedLotNum = this.selectDatas3[event.detail.value];
	}
},
// 获取批号
get_lotnum: function(e) {
	var order_number = this.mip_name;
	if (order_number) {
		//查询单号对应的信息
		uni.request({
			url: getApp().globalData.position + 'Produce/select_mip_lotnum',
			data: {
				order_number: order_number,
				username: getApp().globalData.username
			},
			method: 'POST',
			dataType: 'json',
			success: res => {
				let selectDatas3 = []
				//拼接新数组工序号-工序名
				console.log(res)
				this.selectDatas3 = res.data.lot_num;
			},
			fail(res) {
				console.log("查询失败")
			}
		})
	}
},


http://www.kler.cn/a/507839.html

相关文章:

  • 纯代码实现给WordPress添加文章复制功能
  • minio https配置
  • 32单片机综合应用案例——基于GPS的车辆追踪器(三)(内附详细代码讲解!!!)
  • 鸿蒙UI(ArkUI-方舟UI框架)-开发布局
  • uniapp实现“到这儿去”、拨打电话功能
  • [系统安全] 六十一.恶意软件分析 (12)LLM赋能Lark工具提取XLM代码的抽象语法树(初探)
  • LeetCode 111.二叉树的最小深度
  • 【原创】大数据治理入门(1)《大数据治理入门:为什么重要?》入门必看 高赞实用
  • SpringBoot3集成Sa-Token详解
  • windows下安装并使用node.js
  • 【Python】第二弹---深入理解编程基础:从常量、变量到注释的全面解析
  • Docker 镜像加速的配置
  • thinkphp:实现压缩文件上传、解压、文件更名、压缩包删除功能,增加trycatch
  • MyBatis基于XML的详细使用-缓存
  • 用户中心项目教程(一)--Ant design pro初始化的学习和使用
  • 什么是.NET中的反射,它有哪些应用场景
  • 包装类和简单认识泛型
  • RPA赋能内容创作:打造小红书入门词语图片的全自动化流程
  • 【Python】深入探讨Python中的单例模式:元类与装饰器实现方式分析与代码示例
  • 【Mysql进阶知识】Mysql 程序的介绍、选项在命令行配置文件的使用、选项在配置文件中的语法
  • 甲骨实物高保真数据归国,AI助力古文释读,发现甲骨新图像
  • python(25) : 含有大模型生成的公式的文本渲染成图片并生成word文档(支持flask接口调用)
  • Linux 35.6 + JetPack v5.1.4之 pyCUDA升级
  • OpenAI与Axios合作扩展新闻行业AI应用
  • 设计模式(4)行为模式
  • 正则表达式 匹配特定字符后的所有字符