模拟软键盘,拼接'.'字符串时报错

需求是模拟一个软键盘,每输入一个字符,先push到数组arr中,然后拼接到对象b中:

var arr=[];
var b = '';
arr.push(e);
b = arr.join('');


//输入数字的时候没有问题,
//如依次点击1,2,3,
//输出123

//当依次点击1,‘.’,3的时候
//在点击'.'时
//抱警告:The specified value "3998700\".\"" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
//arr.join('');方法失效,数组还被清空(数组其实没有被清空,而是join方法失效,导致拼串失败)

请问该如何把'.'拼接进字符串b中?

clipboard.png
上面是push后的数组,下图是join后的字符串

clipboard.png
在那个警告那里,字符串没有被渲染上去(我是用的vue绑定的字符串)

阅读 2.8k
2 个回答

你先console下你那个e行不?为什么在我这边没这个问题????
图片描述

找到原因了,我不应该给vue绑定val的那个input的type设置为number...,也就是input的type设置为number后它会默认检测输入的值,就像input设置mail后也会检测是否为合法邮箱格式一样的——————这是自己坑了自己

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题