react-select-plus + Every backspace 删除调用加载选项方法
react-select-plus + Every backspace Removes call load option method
如何每次回拨space 删除呼叫负载选项。我在每个输入更改方法中使用 select.Async 控件调用获取方法并获取数据但是当我按下 space 然后第一次调用该加载选项方法但在下一次无法调用加载选项方法.
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
/>
在上面的代码中加载获取用户方法调用的选项。我的获取用户方法是:
当我第一次单击返回时 space 然后调用用户方法,但在第二次我按下 space 然后不调用那个获取用户方法。如何调用每个返回space 删除调用此方法。
在 react-select-plus 插件中使用缓存 属性 解决了我自己的问题。像这样给 false cache={false}。所以每次调用 getuser() 方法。
如何每次回拨space 删除呼叫负载选项。我在每个输入更改方法中使用 select.Async 控件调用获取方法并获取数据但是当我按下 space 然后第一次调用该加载选项方法但在下一次无法调用加载选项方法.
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
/>
在上面的代码中加载获取用户方法调用的选项。我的获取用户方法是:
当我第一次单击返回时 space 然后调用用户方法,但在第二次我按下 space 然后不调用那个获取用户方法。如何调用每个返回space 删除调用此方法。
在 react-select-plus 插件中使用缓存 属性 解决了我自己的问题。像这样给 false cache={false}。所以每次调用 getuser() 方法。