Redux 类名在<;字段>;以重复形式

Redux 类名在<;字段>;以重复形式,redux,redux-form,classname,Redux,Redux Form,Classname,我已经创建了一个redux表单,我想向每个字段添加类名,以便使用css对其进行自定义。 每个字段的代码为: <Form onSubmit={handleSubmit(requestAccountsFilter)}> <FormGroup row> <Field id="symbol" name="symbol" type="text"

我已经创建了一个redux表单,我想向每个字段添加类名,以便使用css对其进行自定义。 每个字段的代码为:

<Form onSubmit={handleSubmit(requestAccountsFilter)}>
        <FormGroup row>
          <Field
            id="symbol"
            name="symbol"
            type="text"
            component={inputField}
            placeholder="Enter Product Here"
          />
          <Field id="side" name="side" component={inputField} type="select">
            <option value={null}>Any</option>
            <option value="Buy">Buy</option>
            <option value="Sell">Sell</option>
          </Field>
          <Field id="status" name="status" component={inputField} type="select">
            <option value={null}>Any</option>
            <option value="Working">Working</option>
            <option value="Completed">Completed</option>
          </Field>
          <Button name="submit-btn" className="filter-submit-btn" color="danger" type="submit">
        Submit
      </Button>
    </FormGroup>
  </Form>

任何
购买
卖
任何
工作
完整的
提交
我添加了一个className标记,但是我看到既没有显示我添加的占位符,也没有显示类名。如何自定义每个字段

<Field 
    type="text" 
    className="myClass"
    component={InputField} 
    placeholder="Type here..."
/>
或者更好的方法,如果有太多的道具,你可以使用

export const InputField=(field)=>(
{field.meta.com&&field.meta.error&&{field.meta.error}
)
{…field}
将提取您在
字段中传递的所有道具

您可以看看这个官方的redux表单示例:了解更多信息

希望有帮助:)

您可以使用对象分解方法来设置类名


我通过说
组件={InputField}
了解到您正在使用自定义渲染器,但是对于其他来到这里的人(因为我在文档中找不到):如果您使用的是内置渲染器之一,如
组件=“input”
组件=“select”
,您只需添加
className
,渲染器就会应用它,例如:

<Field name="foo" component="select" className="form-control">
</Field>


这完全取决于
inputField
函数的外观。您能给我们看一下吗?您传递给
字段的所有道具都将在您的
inputField
组件中提供。因此,在您的
inputField
组件中,您只需要解构像
这样的道具。这样,传递给
Field
的所有道具将在
inputField
组件中可用。`我的inputField组件如下:导出默认字段=>({Field.children}{Field.meta.toucted&&Field.meta.error&&{Field.meta.error});而不是将代码粘贴到注释中。请编辑您的问题。最后一个InputField组件向我显示了一个错误,无法读取props meta和inputDid第一个工作?第二种我不太确定,因为我自己还没试过。我需要调查一下。第一个也不行。只有当我直接赋值时,它才起作用。更具体地说,如果我分配etc value=“fsfsdfs”,它将工作,但如果我分配value={value},并且在我的组件中,我设置value=“fsdfsdfsd”,它将不工作,我还做了一些其他更改。你能试试最新的答案吗?不,它不起作用。返回的结果也给我带来了一个错误,我非常喜欢这种方法,不需要在组件上添加类名,这是一种不好的做法。
export const InputField = (field) => ( 
    <div> 
        <input {...field.input} {...field} /> 
        {field.meta.touched && field.meta.error && <span className="error">{field.meta.error}</span>} 
    </div>
)
<Field name="foo" component="select" className="form-control">
</Field>