在mobx反应表中更新其他字段onchange

时间:2017-07-23 18:43:40

标签: reactjs mobx-react

我正在使用nestedField demo exampleMobx-react-form对字段列表稍作修改,其余代码按原样进行。我希望每次更新/更改任何字段时都能运行一个函数,并更新表单的相关字段。因此,该函数需要访问表单中的所有字段才能重新计算/更新其他字段。

我想要实现的是一个类似计算器的功能,其中项目被添加到列表中(在表单中),并且一旦项目的数量或价格被更新,列表的小计和总计表格会重新计算。表单有多个项目列表。

我该怎么做?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

项目的所有者回复了,并帮助解决了这个问题。任何寻找相同内容的人都是链接 - https://github.com/foxhound87/mobx-react-form/issues/307

解决方案是使用计算函数作为prop,并在每次状态发生任何变化时进行更新。

<!DOCTYPE html>
<html ng-app>
<head>
    <title>Lets test this out?</title>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>

    Write your name in the text box!
    <input type="text" ng-model="sometext" />    
    <h1>Hello {{ sometext }}</h1>

</body>
</html>

子总数也可以用相同的方式计算。获取字段的父级使用 - @computed get total() { let total = 0; form.$('fieldsArray') .map(field => (total = total + parseFloat(field.value))); return total; }