如何从输入中替换对象值中的文本?

问题描述 投票:-1回答:1

我从后端获得JSON。用户必须编辑模板,添加他的数据并将其发送回服务器。如何从输入中编辑对象值。如何将对象中的每个变量(名称,公司,作业)连接到输入字段。我需要使用正则表达式还是有其他方法?这只是一个完整的JSON。

templates: {
        {
          message_content:
            "Hello {{name}}, My name is Ann, from {{company}}",
        },
        {
          message_content: "Are you looking for job as a {{job}}?",
        },

}

javascript json reactjs object
1个回答
1
投票

你可能会用regexp来实现这个目的

var message= template.message_content;
var finalVal = null;
        var r = message.match(/\{[\w]+\}/g);
        r && r.forEach((state) => {
            var regex = new RegExp(state, 'g')
            var stateItem = state.split(/{|}/g)[1]
            finalVal = message.replace(regex, this.state.obj[stateItem])
        })

注意:RegExp匹配单个花括号只有bcz react使用单花括号如果你想匹配双花括号更改reg exp匹配模式相应

© www.soinside.com 2019 - 2024. All rights reserved.