首页 > 解决方案 > 如何在反应变量中获取输入值 onChange?

问题描述

我有一个搜索文本框,当我使用正常的 event.target 方法时,我需要获取值 onchange 将请求发送到 API,它显示错误。如何在 onchange 中纠正它我需要用一些参数调用一个函数,所以我不能轻松。

我的文本框是:

<input className="ReactSearchBox" name="search" placeholder="Search Doctors" 
          onClick={() => {
            this.onProviderListing(this.state.skip,0);
            this.onEnable();
                  }}
          onChange={() =>this.onSearchProvider(this.state.skip,0)} />

我需要 onchange 值的功能是:

onSearchProvider(nSkip,nLimit,e){
      this.setState({
        limit:nLimit,
        skip:nSkip,
        listing: this.state.listing,
        searching: !this.state.searching
      })
      //console.log(nlimit);
      var headers = {
        "Content-Type":"application/json",
        "AccessToken":localStorage.TOKEN,
      }
      var _calObj = {initiatorId:localStorage.userid,visitType: "office", skip:nSkip,limit:"5", includeOfflineProviders:"true",searchQuery:"lo"}

我需要在搜索查询 onchange 中相应地给出我的输入值,请对其进行排序。

标签: javascripthtmlreactjs

解决方案


您没有从输入传递事件。将 onChange 属性更改为:

       <input className="ReactSearchBox" name="search"
          placeholder="Search Doctors" 
          onClick={() => {
            this.onProviderListing(this.state.skip,0);
            this.onEnable();
                  }}
          onChange={(e) =>this.onSearchProvider(this.state.skip,0, e)}
        />

onSearchProvider(nSkip,nLimit,e){
  const value = e.target.value; // text box value 
}

推荐阅读