uniapp input获取扫描头条码不全问题

piziji1年前动动脑426

一、原因分析

input使用双向绑定,input标签loop事件循环获取文本过程中,读取信息不是顺序读取,如果条码中包含了回车键,还没有读取完所有文本,先读取到了回车,触发了相应的回车事件导致取到的条码不全。

二、问题及解决

问题:confirm回车事件先于 data属性值绑定,事件触发时,data值还没有完全绑定完成。

解决:在input标签中传递事件对象,通过事件直接获取值。

三、代码

<view class="input-control">
	<text class="icon title">&#xeb9c;</text>
	<text class="title">|</text>
	<m-input class="m-input" type="text" clearable :focus="focusBill" v-model="billno" placeholder="请扫描/输入直通入库单号" @confirm="onScanNo($event)"></m-input>
</view>
//扫描单号
onScanNo(e) {
	//取值
	let barCode = e.target.value;
	//赋值给文本框
	this.billno = barCode;

	this.setPageData({ rcvH: { billno: this.billno }, rcvD: null, rcvS: null });
	uni.navigateTo({
		url: './itemList'
	});
}


标签: 前端

相关文章

JS简易拓扑排序

JS简易拓扑排序

const nodeCount = 5; /**@type {number[]} */ let graphNodes =&...

Chrome调试工具-基础篇

Chrome调试工具-基础篇

1、打开Chorme开发者工具在 Chrome 菜单中选择更多工具 > 开发者工具在页面元素上右键点击,选择 “检查”使用快捷键 F12、 Ctrl+Shift+I2、查看元素伪类 css 样式...

召唤伊斯特瓦尔