<template>
<view class="container">
<title-tip :showIf=showErrMsg :msg="this.msg"></title-tip>
<view class="form">
<uni-forms ref="form" :model="form" labelWidth="70px">
<uni-row :gutter="10">
<uni-col :span="14">
<uni-forms-item label="标签" label-width="75px" name="outerBoxLabelEx">
<uni-easyinput id="myOuterInput" v-model="form.outerBoxLabelEx" placeholder=""
@confirm="input($event)" :focus="isOuterFocus" />
<!-- <input ref="testBinderCode" v-model="form.outerBoxLabelEx" :focus="isOuterFocus" @confirm="input($event)" class="input" /> -->
</uni-forms-item>
</uni-col>
</uni-row>
</uni-forms>
</view>
<view class="table">
<uni-table ref="table" :border="true" :loading="loading" emptyText="暂无更多数据" type="selection"
@selection-change="selectionChange">
<uni-tr>
<uni-th width="95" align="center">标签</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in outerBoxLabelList" :key="index">
<uni-td>{{ item.outerBoxLabel }}</uni-td>
</uni-tr>
</uni-table>
</view>
<!-- <view class="box">
<scanCode @setData="getScanCode"></scanCode>
</view> -->
</view>
</template>
<script>
import {
getLabel,
getBoxLabelInfo,
unBindingBoxLabel,
bindTray
} from "@/api/label/trayLabel"
import {
setTimeout
} from "timers";
export default {
data() {
return {
msg: null,
showErrMsg: false,
form: {
outerBoxLabelEx: null,
},
/**控制绑定按钮*/
bindingButton: false,
loading: false,
outerBoxLabelList: [],
// 数据总量
total: 0,
// 每页数据量
pageSize: 10,
// 当前页
pageNum: 1,
// 外箱标签获取焦点
isOuterFocus: false,
}
},
onLoad() {
this.selectedIndexs = [];
},
methods: {
/**多选处理*/
selectedItems() {
return this.selectedIndexs.map(i => this.outerBoxLabelList[i])
},
/**多选*/
selectionChange(e) {
this.selectedIndexs = e.detail.index;
},
inputTest(e) {
setTimeout(() => {
const labelInfo = {};
labelInfo.outerBoxLabel = e.target.value;
this.outerBoxLabelList.push(labelInfo);
// 设为空,重新赋予焦点
this.form.outerBoxLabelEx = null;
this.isOuterFocus = false;
var that = this;
setTimeout(() => {
that.$nextTick(function() {
this.isOuterFocus = true;
});
}, 300)
}, 300)
},
resetForm() {
this.form = {
outerBoxLabelListEx: [],
};
this.outerBoxLabelList = [];
//清除之前的选中状态
this.$refs.table.clearSelection();
// 初始化已选集合
this.selectedIndexs = [];
this.showErrMsg = false;
},
}
}
</script>
<style lang="scss" scoped>
page {
height: 100%;
background-color: #ffffff;
}
.container {
width: 100%;
height: 100%;
background-color: #fff;
}
.form {
padding: 10px;
}
.tray-box-button {
padding: 10px;
}
.form-submit {
margin-left: 6px;
margin-top: 4px;
}
/deep/.uni-forms-item__label {
padding: 0 4px 0 8px;
}
// !important 解决样式被element.style 覆盖
.uni-table-th {
padding: 6px 5px;
font-size: 12px;
}
.uni-table-td {
padding: 8px 6px;
font-size: 13px;
}
</style>
- 发布:2023-03-08 10:12
- 更新:2023-12-19 15:18
- 阅读:420
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.6.4
手机系统: Android
手机系统版本号: Android 7.1.1
手机厂商: UROVO
手机机型: i6200Series
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用PDA终端打开页面,点击easyinput输入框进行扫描
使用PDA终端打开页面,点击easyinput输入框进行扫描
预期结果:
获取到完整的值传递给后端
获取到完整的值传递给后端
实际结果:
输入框的值是OUTLABEL00001 传递给后端的是OUTLABEL0000或OUTLABEL0
输入框的值是OUTLABEL00001 传递给后端的是OUTLABEL0000或OUTLABEL0
bug描述:
使用uni-easyinput 接收PDA扫码的值偶尔会出现缺失
PDA扫描设置:
- 键盘方式输出
- 物理键盘
- 操作键字符:Carriage return
- UTF-8编码
1 个回复
l***@126.com (作者)
请问下你们是怎么解决的?使用PDA扫码选择键盘方式输入到输入框自动回车,传递给后端的值会缺失部分,百分百复现