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

时间:2019-03-19 04:54:27

标签: javascript json reactjs object

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

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

}

1 个答案:

答案 0 :(得分: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使用单个大括号