обновить другие поля при изменении в форме реакции mobx

Я использую демонстрационный пример вложенного поля Mobx-react-form с небольшим изменением списка полей, остальная часть кода как есть . Я хочу иметь возможность запускать функцию каждый раз, когда какое-либо поле обновляется/изменяется и обновляет зависимые поля формы. следовательно, функции нужен доступ ко всем полям в форме, чтобы пересчитать/обновить другие поля.

то, что я хочу достичь, - это функция калькулятора, подобная функциональности, в которой элементы добавляются в список (в форме), и как только количество или цена элемента обновляются, промежуточный итог списка и общая сумма формы получает пересчитано. Форма имеет несколько списков элементов.

Как я могу это сделать?

Любая помощь горячо приветствуется.


person dagger    schedule 23.07.2017    source источник


Ответы (1)


Владелец проекта ответил, и помочь решить вопрос. для тех, кто ищет то же самое, вот ссылка - https://github.com/foxhound87/mobx-react-form/issues/307

Решение состоит в том, чтобы использовать вычисляемую функцию, которая действует как реквизит и обновляется каждый раз, когда что-либо изменяется в состоянии.

@computed get total() {
    let total = 0;

    form.$('fieldsArray')
      .map(field => (total = total + parseFloat(field.value)));

    return total;
}

промежуточный итог также может быть рассчитан таким же образом. чтобы получить родительское использование поля - field.container()

person dagger    schedule 25.07.2017