1
バックスペースのコールロードを削除するたびにコールする方法。私はすべての入力変更メソッドの呼び出しメソッドをフェッチし、データを取得するときにselect.Asyncコントロールを使用していますが、バックスペースを押すと最初にそのロードオプションメソッドが呼び出されたが、ロードオプションメソッドを呼び出すことができません。ユーザーのメソッド呼び出しを取得loadオプションで上記のコードでreact-select-plus +すべてのバックスペースコールロードオプションのメソッドを削除します。
getUsers = (input) => {
console.log(input);
if (!input) {
return Promise.resolve({ options: [] });
}
if (input.length > 2) {
const newstate = this.state;
newstate.loadingtext = 'Searching...';
this.setState({ newstate });
const searchLocation = Object.assign({}, cookie.load('cLocation'));
searchLocation.searchText = input;
searchLocation.isBusiness = false;
console.log(input.toString().length);
return fetch(sourceName.searchNavbar, apiUrl.locationAndBusiness,
searchLocation)
.then(json => ({ options: json.data }));
}
return null;
}
<Select.Async
onChange={this.onChange}
valueKey="placeID"
filterOptions={this.filterOptions}
labelKey="cityState"
loadOptions={this.getUsers}
onInputChange={inp => this.onInputChange(inp)}
onBlur={this.onBlur}
onInputKeyDown={inp => this.onInputKeyDown(inp)}
onFocus={this.onFocousSearch}
value={this.state.value}
searchPromptText="Please enter 3 or more characters"
loadingPlaceholder={this.state.loadingtext}
noResultsText="No results found"
options={this.state.options}
placeholder={this.state.placeholdervalue}
autoBlur
/>
。私のget Userメソッドは次のとおりです:
私は最初のスペースをクリックしてユーザーメソッド呼び出しを取得しますが、2回目にはスペースを押してからget userメソッドを呼び出さないようにします。すべてのバックスペースを呼び出す方法は、このメソッドを呼び出します。