gpt4 book ai didi

javascript - reactjs 中的选择框不起作用

转载 作者:行者123 更新时间:2023-11-30 11:44:52 26 4
gpt4 key购买 nike

我有一个带有选择框的表单,可以从服务器获取数据并将其发布到同一台服务器。我正在使用 ant design 中的选择框.

但是处理更改的部分 handleChange() 不工作并给我这个错误:

Cannot read property 'value' of undefined


这是我的代码:

let optionData = [];

class ContentCountries extends React.Component {
constructor(props){
super(props);
this.state = {
value: 'Select',
jsonData: 0
};
}
handleChange(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
event.preventDefault();
var data = {
name: this.state.value
}
console.log(data);
/*$.ajax({
type: 'POST',
url: 'https://google.com',
data: data
})*/
}
componentDidMount(){
//ajax request
/*$.ajax({
type: 'GET',
url: 'https://google.com',
succes: function(data){
optionData = data;
}
})*/
//static example
optionData.push('Bangalore');
optionData.push('Pune');
this.setState({jsonData: 1});//change the status so the select tag will get the new values(render will happen)
}
render() {
var optionsTag = <Option value="">Select City</Option>
if(optionData.length){
optionsTag = optionData.map((data,index) => {
return <Option value={data} key={index}>{data}</Option>
})
}

return (
<form onSubmit={false}>
<label>
Please select city:
<Select value={this.state.value} onChange={this.handleChange.bind(this)}>
{ optionsTag}
</Select>
</label>
<input type="button" onClick={this.handleSubmit.bind(this)} value="Submit" />
</form>
)
}
}

最佳答案

已编辑:抱歉,正如您所说,它是 Ant Design .但是,它与您的 handleChange 函数几乎相同。因为它将值作为参数,而不是事件。因此传递的参数中没有 target 属性。

handleChange(val) {
this.setState({value: val});
}

关于javascript - reactjs 中的选择框不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41320008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com