为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

回首忆惘然 2019-03-13 14:13:50
在js中,用户点击添加怎么才能让文本每次加一呢?(中文的一,每次加一个)我的页面如下我想点击新增检查项的时候,新增出来任务二在点击新增出来任务三数字的我会,但是中文的我就不会了,我用的框架是Vue.js,请大神赐教
查看完整描述

6 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

<span>任务{{index | indexFilter}}</span>

index表示任务序号,数据类型为Number


indexFilter (num) {

  num = num.toLocaleString('zh-u-nu-hanidec').replace(/[,]/g, '')

  let temp = [...num]

  let maxlength = temp.length

  let str = ''

  for (let v of Object.values(temp)) {

    let unit

    switch (maxlength) {

      case 1:

        unit = ''

        break

      case 2:

        unit = '十'

        break

      case 3:

        unit = '百'

        break

      case 4:

        unit = '千'

        break

    }

    str += `${v === '一' && maxlength === 2 ? '' : v}${unit}`

    maxlength--

  }

  console.log(str)

  return str

}

控制台打印结果即为中文,参考了楼上使用了Number.toLocaleString()的方法转换成中文,我这个过滤器只过滤到千位,并且没有过滤小数点,请题主参考逻辑后自行修改


查看完整回答
反对 回复 2019-03-16
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

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


查看完整回答
反对 回复 2019-03-16
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

我平时用的是angular,应该和你这个也差不多,你这个“任务”,可以用v-for去遍历一个数组来生成,点新增项的时候,就往数组里面加一个json即可。


查看完整回答
反对 回复 2019-03-16
  • 6 回答
  • 0 关注
  • 908 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信