如何禁用 redux-form 中的字段?
How to disable a Field in redux-form?
我只是想禁用 redux-form
中的一个字段,如下所示,但它似乎没有任何效果。这是 redux-form
版本 7.4.2。
<Field
name="mu"
type="text"
component={renderField}
label="DRIFT FUNCTION [ μ(X(t),t) ]:"
disabled={true}
validate={[required]}
/>
还有
<Field
name="mu"
type="text"
component={renderField}
label="DRIFT FUNCTION [ μ(X(t),t) ]:"
props={{ disabled: true }}
validate={[required]}
/>
请帮忙
输入={{
禁用:真实,
}}
将此添加到您的字段标签中
你可以传递道具对象:
props : object [optional]:
Object with custom props to pass through the Field component into a
component provided to component prop. This props will be merged to
props provided by Field itself.
// outside your render() method
const renderField = field => (
<div>
<input
{...field.input}
disabled={field.disabled} // you'll use it here
type="text"
/>
</div>
);
// inside your render() method
<Field
name="myField"
props={{
disabled: true, // like this
}},
component={renderField}
/>
显然,如果您提供原始 React 组件而不是函数,它就可以工作:
<Field
name="firstName"
component="input"
type="text"
disabled={true}
placeholder="First Name"
/>
所以我认为你的问题出在你没有显示的 renderField
函数中。
如果您正在使用 redux-Form 给定的代码可以像@Vanun 解释的那样工作
<Field
name="Name"
component="fieldset"
type="text"
disabled={true}
/>
我只是想禁用 redux-form
中的一个字段,如下所示,但它似乎没有任何效果。这是 redux-form
版本 7.4.2。
<Field
name="mu"
type="text"
component={renderField}
label="DRIFT FUNCTION [ μ(X(t),t) ]:"
disabled={true}
validate={[required]}
/>
还有
<Field
name="mu"
type="text"
component={renderField}
label="DRIFT FUNCTION [ μ(X(t),t) ]:"
props={{ disabled: true }}
validate={[required]}
/>
请帮忙
输入={{ 禁用:真实, }}
将此添加到您的字段标签中
你可以传递道具对象:
props : object [optional]: Object with custom props to pass through the Field component into a component provided to component prop. This props will be merged to props provided by Field itself.
// outside your render() method
const renderField = field => (
<div>
<input
{...field.input}
disabled={field.disabled} // you'll use it here
type="text"
/>
</div>
);
// inside your render() method
<Field
name="myField"
props={{
disabled: true, // like this
}},
component={renderField}
/>
显然,如果您提供原始 React 组件而不是函数,它就可以工作:
<Field
name="firstName"
component="input"
type="text"
disabled={true}
placeholder="First Name"
/>
所以我认为你的问题出在你没有显示的 renderField
函数中。
如果您正在使用 redux-Form 给定的代码可以像@Vanun 解释的那样工作
<Field
name="Name"
component="fieldset"
type="text"
disabled={true}
/>