Redux-form - 有没有办法知道哪些字段已被更改? (更新和补丁)

时间:2017-02-16 17:18:40

标签: javascript redux redux-form

使用redux-form更新实体时,我想知道哪些字段已被更改,以便仅在这些字段上使用PATCH HTTP请求。 (并没有发送整个表格)

有没有内置方法可以做到这一点?我正在查看文档但它似乎没有任何选择。

http://redux-form.com/6.5.0/docs/api/Props.md/

2 个答案:

答案 0 :(得分:1)

每个字段都有“脏”属性。似乎是你在寻找的东西:

  

如果当前值与初始值不同,则为true,否则为false。

http://redux-form.com/6.5.0/docs/api/Field.md/#-dirty-boolean-

您需要保留所有“脏”字段的列表,但这应该适用于var _validFileExtensions = [".jpg", ".jpeg", ".png"]; function Validate(oForm) { var arrInputs = oForm.getElementsByTagName("input"); for (var i = 0; i < arrInputs.length; i++) { var oInput = arrInputs[i]; if (oInput.type == "file") { var sFileName = oInput.value; if (sFileName.length > 0) { var blnValid = false; for (var j = 0; j < _validFileExtensions.length; j++) { var sCurExtension = _validFileExtensions[j]; if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) { blnValid = true; break; } } if (!blnValid) { alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", ")); return false; } } } } return true; }

答案 1 :(得分:1)

你是在提交时做的吗?您可以使用values手动区分this.props.initialValues以确定更改的值。