如何获得有关反应中下拉值变化的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得有关反应中下拉值变化的数据?相关的知识,希望对你有一定的参考价值。

我正在尝试获取有关dropdown的更改事件的数据。首先,我在加载时加载list of banks或加载组件时。现在我想在用户选择任何state时获取bank列表。我收到此错误

Uncaught (in promise) TypeError: _this3.setState is not a function
    at eval (rro780nklq.codesandbox.io/src/form_component.js:71)
    at <anonymous>

我试过这样的

render() {
    return (
      <div>
        <DropDown
          data={this.state.data}
          defaultOption="select Bank"
          callbackFn={this.callStateService}
        />
        <DropDown data={this.state.stateData} defaultOption="select State" />
        <DropDown data={this.state.district} defaultOption="select District" />
      </div>
    );
  }
}

onchange事件

onChangeDropdown = e => {
    console.log(e.target.value);
    this.props.callbackFn(e.target.value);
  };

这是我的代码https://codesandbox.io/s/rro780nklq

答案

您可以使用箭头功能删除与setState相关的错误,但除此之外还有更多错误。你需要检查

callStateService = (bankname) => {
    axios
      .get(
        "your url"
          bankname
      )
      .then(response => {
        console.log(response.data.data);
        const d = response.data.data;
        this.setState({
          stateData: d
        });
      });
  }
另一答案

您可以将callStateService定义为保留this的箭头函数:

callStateService = bankname => {
...

以上是关于如何获得有关反应中下拉值变化的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 rhandsontable 对输入值的变化和自身的变化做出反应?

如何获得具有不同背景颜色的下拉菜单。下拉选项是动态的

如何在文本区域标签中的特定光标位置插入选择标签下拉值作为文本片段?

如何获得一系列反应 Discord JS

如何获得信用卡组件的 reactstrap 下拉值?

如何获得有关 tabris 地理位置变化的通知?