web-dev-qa-db-ja.com

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]}
  />

助けてください

6
Edv Beq

input = {{disabled:true、}}

これをFieldタグに追加します

4
nishant

Propsオブジェクトを渡すことができます:

props:object [optional]:Fieldコンポーネントを介してコンポーネントpropに提供されるコンポーネントに渡すカスタムpropを持つオブジェクト。この小道具は、Field自体が提供する小道具にマージされます。

// 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}
/>
6
Idan Dagan

明らかに、関数ではなくプリミティブな反応コンポーネントを提供する場合に機能します:

      <Field
        name="firstName"
        component="input"
        type="text"
        disabled={true}
        placeholder="First Name"
      />

Edit Redux Form - Simple Example

あなたの場合の問題は、あなたが示していないrenderField関数の中にあると思います。

3
Vanuan

Redux-Formを使用している場合、指定されたコードは@Vanunの説明どおりに機能します

<Field
    name="Name"
    component="fieldset"
    type="text"
    disabled={true}
  />
0
RebelCoder