web-dev-qa-db-fra.com

Comment désactiver un champ sous forme redux?

J'essaie simplement de désactiver un champ dans redux-form comme indiqué ci-dessous mais cela ne semble pas avoir d'effet. C'est redux-form version 7.4.2.

  <Field
    name="mu"
    type="text"
    component={renderField}
    label="DRIFT FUNCTION [ μ(X(t),t) ]:"
    disabled={true} 
    validate={[required]}
  />

Aussi

  <Field
    name="mu"
    type="text"
    component={renderField}
    label="DRIFT FUNCTION [ μ(X(t),t) ]:"
    props={{ disabled: true }}
    validate={[required]}
  />

Toute aide s'il vous plaît

6
Edv Beq

entrée = {{désactivé: vrai,}}

ajoutez ceci à votre balise Field

4
nishant

Vous pouvez passer l'objet accessoires:

props: object [facultatif]: objet avec des accessoires personnalisés pour passer par le composant Field dans un composant fourni au composant prop. Ces accessoires seront fusionnés avec les accessoires fournis par Field lui-même.

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

Apparemment, cela fonctionne si vous fournissez des composants de réaction primitifs plutôt que des fonctions:

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

Edit Redux Form - Simple Example

Je pense donc que le problème dans votre cas est à l'intérieur de la fonction renderField que vous n'avez pas montrée.

3
Vanuan

Si vous travaillez avec du code redux-form, le code donné peut fonctionner comme expliqué @Vanun

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