props:{
// ...
value: [Number, String, undefined, null],
modelValue: [Number, String, undefined, null],
// ...
},
methods: {
init() {
if (this.value || this.value === 0) {
this.val = this.value;
} else if (this.modelValue || this.modelValue === 0) {
this.val = this.modelValue;
}
// 此处判断建议新增
else if (this.type === 'number') {
this.val = undefined
} else {
this.val = null;
}
},
// ...
}
- 发布:2024-09-06 11:35
- 更新:2024-09-06 11:39
- 阅读:158
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 4.26
浏览器平台: Chrome
浏览器版本: 128.0.6613.114
项目创建方式: HBuilderX
示例代码:
操作步骤:
<uni-easyinput type="number" :maxlength="24" v-model="valiFormData.rfid" :inputBorder="false" placeholder="请输入标签编码" />
const valiFormData = ref({
c1: uni.getStorageSync('currentMenu').c1, //场景ID 后期后台接口获取
state: 'in_warehouse',
isLowValue: false, //是否低值易耗
externalId: '',
rfid: '',
})
<uni-easyinput type="number" :maxlength="24" v-model="valiFormData.rfid" :inputBorder="false" placeholder="请输入标签编码" />
const valiFormData = ref({
c1: uni.getStorageSync('currentMenu').c1, //场景ID 后期后台接口获取
state: 'in_warehouse',
isLowValue: false, //是否低值易耗
externalId: '',
rfid: '',
})
预期结果:
输入框显示正常
输入框显示正常
实际结果:
输入框不显示,同时console控制栏报错
输入框不显示,同时console控制栏报错
bug描述:
在from中使用uni-easyinput组件,type类型选择为number的时候,如果v-model绑定的参数例如: 'v-mode="formData.num"',页面初始参数formData定义为'const formData = ref({ num: '' })',uni-easyinput组件会报错误'TypeError: Cannot read properties of null (reading 'toLocaleString')'阻塞页面显示。经过测试,在组件props接受的value,modelValue中增加undefined, null类型,同时在init方法中增加type===‘number’的判断即可解决
1 个回复
DCloud_UNI_yuhe
你尝试更新一下uni-easyinput,之前修过这个问题