繁体   English   中英

如何以redux形式禁用Field?

[英]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 [可选] :带有自定义道具的对象,通过Field组件传递给提供给组件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}
/>

input = {{disabled:true,}}

将其添加到Field标记中

显然,它可以提供原始反应组件而不是函数:

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

编辑Redux表单 - 简单示例

所以我认为你的案例中的问题是你没有显示的renderField函数。

如果你正在使用redux-Form,那么代码可以像@Vanun一样解释

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM