我正在从handleChange函数将选择标记JSX添加到状态“ dom”中,并将其呈现到网页中,一切正常,我正在接收数据,但是name =“ type”的选择标记的值没有改变并且保持不变或select的value属性不起作用
代码如下:
0 = a
答案 0 :(得分:0)
如果我正确理解了您的问题,解决方案可能很简单,只需将以下内容添加到您的handleChange
箭头函数中(请参见下面的[UPDATE]注释):
handleChange = (e) => {
this.setState({
[e.target.name]: e.target.value
});
// [UPDATE] Extract the value that will be rendered into the select
// value with name "type"
const typeValue = e.target.value
if (e.target.value === 'properties') {
this.setState({
dom: <select className="form-control form-control-lg"
name="type" value={typeValue} // [UPDATE] Inject the typeValue
// into the view
onChange={this.handleChangeType}>
<option value="" >Select Ad Type</option>
<option value="all">Show All</option>
<option value="ForRent">For Rent</option>
<option value="ForSale">For Sale</option>
<option value="NewProjects">New Projects</option>
</select>
});
} else if (e.target.value === 'cars') {
this.setState({
dom: <select className="form-control form-control-lg"
name="type" value={typeValue} // [UPDATE] Inject the typeValue
// into the view
onChange={this.handleChangeType}>
<option value="Cars">Cars</option>
</select>
});
}
}