因此,基本上,我得到了以下JSX文件,并且我想要一个事件处理程序,该事件处理程序侦听在制造商部分中单击“ Other” 后生成的事件。请在
标记内名为“颜色”的最后一个
标记内以及在
内找到最后一个
标记代码>标签。另外,请忽略已经存在的OnClick函数。在这个问题上没有用。
我要生成的事件非常特殊。它应该在下拉菜单内的“其他”选项所在的位置添加一个文本区域(或输入,不确定),以便用户可以键入在当前颜色选择中找不到的其他选项
我将如何实现这一目标?
import React,{片段}来自'react';
从'../../../common/theme/cssStyledColumns'导入{StyledSection,StyledSectionColLeft,StyledSectionCol};
从'../../../common/form'导入{Textarea,Select,Input,MandatoryInfo};
const ApplianceDetails =()=>(
<片段>
设备详细信息
<选择名称=“颜色”标签=“颜色*”>
选择>
<输入名称=“模型”标签=“模型*” />
<输入名称=“位置”标签=“位置*” />
);
导出默认的ApplianceDetails;
答案 0 :(得分:0)
您可以基于input
的值在textarea
/ select
上设置类。像这样:
<Select value={this.state.selectedOption} onChange={this.handleSelect} name="colour" label="Colour *">
<option value="">-Select-</option>
<option value="Vokera">Blue</option>
<option value="Warmflow">Red</option>
<option value="Worcester">Yellow</option>
<option value="Other">Other</option>
</Select>
// Or textarea
<input type="text" value="" name=" className={this.state.selectedOption !== 'Other'?"hidden":""}/>
这会将hidden
类添加到您的输入中。现在您可以使用.hidden{ diplay:none; }
此函数将处理您的值更改:
handleSelect(evt){
this.setState({
selectedOption: evt.target.value
})
}