Как заменить текст в значении объекта из ввода? - PullRequest
0 голосов
/ 19 марта 2019

Я получаю JSON из бэкэнда.Пользователь должен редактировать шаблоны, добавлять свои данные и отправлять их обратно на сервер.Как можно редактировать значение объекта из ввода.Как связать каждую переменную (имя, компания, должность) в объекте с полем ввода.Нужно ли использовать регулярные выражения или есть какой-либо другой способ?Это всего лишь кусок JSON.

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

}

1 Ответ

1 голос
/ 19 марта 2019

вы, вероятно, используете для этого регулярное выражение, например

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 реагирует, использует одиночные фигурные скобки, если вы хотите сопоставить двойные фигурные скобки.фигурные скобки изменяют шаблон соответствия exp exp соответственно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...