gpt4 book ai didi

javascript - Redux 表单 - 如何在填充每个输入之前保持按钮禁用状态?

转载 作者:行者123 更新时间:2023-11-29 23:45:59 25 4
gpt4 key购买 nike

我正在研究以下 react-redux 表单示例:

http://redux-form.com/6.0.0-alpha.4/examples/simple/

它以这种方式工作,如果用户至少填写了一个输入,则提交按钮被启用。

我只是想知道,是否有任何方法启用按钮仅当所有输入都已填充?

我没有在这里粘贴整个代码,因为首先它很长,其次它是一个实时预览示例。

谢谢!

最佳答案

我认为没有类似 pristinedirty 的属性,但您可以使用 form reducer。假设您使用的是 redux form 6+,这样的东西应该可以工作:

connect((state) => {
return {
// assuming form is the reducer's name
myForm: state.form.myForm
}
})(

reduxForm({
form: 'myForm'
})(({ handleSubmit, myForm }) => {
// myForm.values contains all fields that have value.
// myForm.fields contains all fields
const len = (obj) => Object.keys(obj).length;
const allFilled = len(myForm.values) === len(myForm.fields);
console.log(allFilled);
return (
<form onSubmit={handleSubmit}>
<Field
name="text"
component="input"
/>
<Field
name="bar"
component="input"
/>
</form>
)
})
);

稍微解释一下,redux 表单由 redux 支持,并将有关表单的所有信息保存在 redux 存储中。然后,您可以使用标准的 connect 函数将该信息连接到任何组件。在此示例中,我使用 fieldsvalues 属性来检查是否所有字段都具有值。

关于javascript - Redux 表单 - 如何在填充每个输入之前保持按钮禁用状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44133589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com