你这样做的方式是错误的。您无法调用 onClick 方法<option>
。相反,你应该使用 onChange 方法<select>
(请参阅反应文档 https://facebook.github.io/react/docs/forms.html) 像这样:
<select onChange={this.handleChange} >
<option>1</option>
<option>2</option>
<option>3</option>
</select>
然后,在“onChange”事件中,您可以将状态设置为所选选项。让我们通过一个例子来理解这个场景。
假设您有两个下拉菜单。一种用于显示公司,另一种用于显示每个公司对应的职位。每个公司都有自己的职位,如下所示:
companies:[
{ name: 'company1', jobs: ['job1-1', 'job1-2', 'job1-3']},
{ name: 'company2', jobs: ['job2-1', 'job2-2', 'job2-3']},
{ name: 'company3', jobs: ['job3-1', 'job3-2', 'job3-3']}
]
现在您只需设置一个状态,假设为“selectedCompany”,然后按“selectedCompany”过滤公司数组。然后,您可以获取该特定的公司对象,并通过迭代公司对象内的职位数组来映射您的“职位”下拉列表。
这是代码片段:
https://codepen.io/madhurgarg71/pen/pRpoMw https://codepen.io/madhurgarg71/pen/pRpoMw