Vue 正则表达式 替换
需求是 Vue的AutoComplete组件输入abc会去后台吧所有存在abc(不区分大小写的)拿出来,并高亮、
highlightData: function (data, propShow, propOrigin, highlight) {
data.forEach(item => {
// 匹配关键字正则
let replaceReg = new RegExp(highlight, 'gi')
// 高亮替换v-html值
let replaceString = '<span class="color-primary">' + highlight + '</span>'
// 开始替换
item[propShow] = item[propOrigin].replace(replaceReg, replaceString)
})
return data
},
之前我是这么写的,但是这样的话会把原来的ABC变成abc并高亮。很难受?该怎么写
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么是用replace呢?我觉得应该用test或者是match。当然,你用replace也不是不可以,
let replaceReg = new RegExp(highlight, 'gi')
let replaceString = '<span class="color-primary">$&</span>'
item[propShow] = item[propOrigin].replace(replaceReg, replaceString)