首先,感谢热心网友的指正,现在已经将代码调整。
这段代码运行结果是什么?
// index.wxml
<picker aria-role="combobox" bindchange="bindPicker2Change" range="{{ruleArr}}">
<view class="weui-select">{{ruleArr[ruleValue]}}</view>
</picker>
// index.js
data: {
ruleArr: ['规则1', '规则2', '规则3', '规则4', '规则5'],
ruleValue: 1,
ruleType: 1,
},
bindPicker2Change(e) {
this.setData({
ruleValue: e.detail.value,
});
},
formSubmit(e) {
const that = this;
let obj = e.detail.value
let rt = that.data.ruleValue + 1;
// let rt = Number(that.data.ruleValue) + 1;
console.log('a,',rt)
},
// 打印结果 a, 11
结果是rt为11
是的,你没有看错,就是这个结果。
而你想要的结果是2。
你需要这样✍🏻
let rt = Number(that.data.ruleValue) + 1;
我这个例子的原场景,在前段有个选择框,选择了之后,然后再加1,因为数组索引默认0
一会儿把我的原代码复制出来,你看看你环境是不是这个问题
应该是重新赋值后转换为字符串类型,我在data中定义的数字类型
let rt = +that.data.ruleValue + 1;
感谢热心网友的反馈,代码已经调整!
以前的好像不是这样的
测试环境好像没有问题,真机看看
按作者给出的代码以前运行确实没有问题的,但现在应该是要求写的更为规范,需要做类型转换,我的小程序以前上线运行后还没问题,后来才发现的,更新后已经解决。