vue 通过字符串渲染控件问题

后台传回给我一个这样的字符串额度低于#value元
该怎么转换成额度低于<InputNumber></InputNumber>元 这样的形式,控件里还需要传值

阅读 1.9k
2 个回答

如果非要这样解决,那正则是可以的。
但是这样处理不科学,后端不应该返回这样的一个字符串。后端可以返回一个json,里面有数值以及其它信息,直接返回字符串是什么个编程方式。。。

// js
// 举个例子
const res = '额度低于#12.5元'
const matchArr = res.match(/(.*)\#(([1-9]\d*|0)(\.\d{1,2})?)(.*)/)
// 你可以写在data的属性,或用computed计算属性都行
this.headStr = matchArr[1] // "额度低于"
this.value = matchArr[2] // 12.5
this.tailStr = matchArr[5] // "元"

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