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

标签 javascript ajax reactjs

我有一个带有选择框的表单,可以从服务器获取数据并将其发布到同一台服务器。我正在使用 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/

相关文章:

javascript - 我应该使用什么技术将内容加载到动态 div 中?

javascript - 简单的 html 和 javascript 文件 - javaScript 的某些部分无法正常工作

没有 REST 框架的 Linux 中的 JavaScript/Python 交互?

reactjs - 为什么箭头函数可以工作但常规函数不能 React JS

javascript - Vue.js - 从过滤后的 scopedSlots 动态创建槽

javascript - foreach 内的 if/else 条件

javascript - 是否可以在不使用 javascript 的情况下将值从 php 传递回 html 表单?

jquery - Rails 中 Ajax 调用后分页不起作用

javascript - 确保 React 状态已针对游戏循环更新

javascript - 带有钩子(Hook)的功能组件导致 "cannot read property map of undefined"