我有一个使用redux-form
创建的表单,并且需要根据表单的子对象中的选择进行显示和过滤(使用FieldArray
进行映射) 。表单数据json结构类似于:
{
name: "my form",
selection: "1"
date: "02/02/2020",
children:
[{
childName: "child2",
childSelection: "1",
grandchildren: [{
grandchild: "3"
}]
},
{
childName: "child2",
childSelection: "1",
grandchildren: [{
grandchild: "2"
}]
}
]
}
在实际表单上,我有一个字段selection
,childSelection
和grandchild
const mapStateToProps = (state) => {
const selector = formValueSelector(FORM_NAME);
const selection= selector(state, "selection")
...
我希望能够在childSelection更改时过滤孙子下拉列表,以及其他UI要求。
我理解redux-form
会触发onChange
事件,并且我已经编写了一个类似上面的选择器来捕获顶级selection
的变化,但效果很好来到孩子/孙子 - 我怎么知道哪个项目已经改变以影响过滤器(即将子项选择传递给驱动孙子列表的下拉列表的选择器?