【发布时间】:2020-01-12 03:01:43
【问题描述】:
我正在创建一个表单组件,它有一个Form 组件和一个Input 组件。像这样的:
<Form>
<Input name="name" />
<Input name="email" />
</Form>
在我的设置中,标签是从 name 属性自动生成的。不过,我想做的是提供一个不显示标签的选项。现在,我可以像这样在每个 <Input> 组件上执行此操作:
<Form>
<Input noLabel name="name" />
<Input noLabel name="email" />
</Form>
但我真正想做的是将它添加到<Form> 组件并让它自动应用于每个<Input> 组件。像这样的:
<Form noLabel>
<Input name="name" />
<Input name="email" />
</Form>
按照我的设想,在定义 <Input> 组件时,我可以检查是否在 <Form> 组件上设置了 noLabel 属性。像这样的:
export const Input = props => {
...
{!props.noLabel && <label>...}
<input.../>
...
}
但我不知道如何从 <Form> 组件中访问 noLabel 属性,以便检查它是否已设置。
关于如何做到这一点的任何想法?
【问题讨论】:
-
你用的是什么版本的 react?是 16.4 及更高版本吗?
-
我使用的是 16.8.6
标签: reactjs react-props react-component