在js中,用户点击添加怎么才能让文本每次加一呢?(中文的一,每次加一个)

在js中,用户点击添加怎么才能让文本每次加一呢?(中文的一,每次加一个)
我的页面如下

https://img4.mukewang.com/5c8c9388000136c608000146.jpg

我想点击新增检查项的时候,新增出来任务二

https://img4.mukewang.com/5c8c938a00013ac108000098.jpg

在点击新增出来任务三

https://img.mukewang.com/5c8c938c00017d8808000132.jpg

数字的我会,但是中文的我就不会了,
我用的框架是Vue.js,请大神赐教


回首忆惘然
浏览 909回答 6
6回答

小唯快跑啊

<span>任务{{index | indexFilter}}</span>index表示任务序号,数据类型为NumberindexFilter (num) {&nbsp; num = num.toLocaleString('zh-u-nu-hanidec').replace(/[,]/g, '')&nbsp; let temp = [...num]&nbsp; let maxlength = temp.length&nbsp; let str = ''&nbsp; for (let v of Object.values(temp)) {&nbsp; &nbsp; let unit&nbsp; &nbsp; switch (maxlength) {&nbsp; &nbsp; &nbsp; case 1:&nbsp; &nbsp; &nbsp; &nbsp; unit = ''&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; &nbsp; case 2:&nbsp; &nbsp; &nbsp; &nbsp; unit = '十'&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; &nbsp; case 3:&nbsp; &nbsp; &nbsp; &nbsp; unit = '百'&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; &nbsp; case 4:&nbsp; &nbsp; &nbsp; &nbsp; unit = '千'&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; }&nbsp; &nbsp; str += `${v === '一' && maxlength === 2 ? '' : v}${unit}`&nbsp; &nbsp; maxlength--&nbsp; }&nbsp; console.log(str)&nbsp; return str}控制台打印结果即为中文,参考了楼上使用了Number.toLocaleString()的方法转换成中文,我这个过滤器只过滤到千位,并且没有过滤小数点,请题主参考逻辑后自行修改

慕尼黑的夜晚无繁华

听描述要的是Number.prototype.toLocaleString()?不过目前没在生产环境下用过这个。。。用的话也建议挂个polyfill以防万一吧。

Smart猫小萌

我平时用的是angular,应该和你这个也差不多,你这个“任务”,可以用v-for去遍历一个数组来生成,点新增项的时候,就往数组里面加一个json即可。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript