这是输入框:
< input class = "cjj_input" value = "{{cjj}}" placeholder = "成交价" bindinput = "cjjInput" type = "digit" ></ input > < input class = "shoushu_input" value = "{{shoushu}}" placeholder = "手数" bindinput = "shoushuInput" type = "number" ></ input > |
这是变量定义和接受值的地方:
data: { cjj: 0 , // 当前点数 shoushu: 0 , // 手数 }, cjjInput: function (e) { var value = e.detail.value; this .data.cjj = parseFloat(value); }, shoushuInput: function (e) { var value = e.detail.value; this .data.shoushu = parseFloat(value); }, |
上面两个输入框,同样的代码,在Android上都没问题,在iOS上cjjInput方法里的parseFloat(value)没问题,而shoushuInput方法里的parseFloat(value)每次都是NaN,这里的value都是数字类型字符串,打印的value类型也都是string。
有大佬碰到这个问题吗?
this
.data.shoushu = parseFloat(value);
这样给 this.data 赋值你不会心痛吗
刚重新把代码删了重写了一遍就可以了,真是坑