如何禁用 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}
  />