簡體   English   中英

如何在反應變量中獲取輸入值 onChange?

[英]How to get a input value onChange in react variable?

我有一個搜索文本框,當我使用正常的 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 中給出我的輸入值,請整理一下。

你不是從輸入傳遞事件。 將 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 
}

您還可以通過傳遞e事件對象來更新 jsx 中的onChange ,例如:

onChange={(e) => this.onSearchProvider(this.state.skip,0,e)}

onSearchProvider您可以像這樣訪問它:

onSearchProvider(nSkip, nLimit, {target}){
   // you can see search box text here on change
   console.log(target.value) 
}

您不需要在 onChange 方法調用上傳遞狀態值。

狀態將在整個組件中保持一致。

<input className="ReactSearchBox" name="search" placeholder="Search Doctors" 
     onChange={() =>this.onSearchProvider(0)}
/>

您可以從該輸入的事件中獲取值作為event.target.value

onSearchProvider(nLimit,e){
  // access your state values directly here like this.state.skip
  const searching = e.target.value;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM