#javascript #jquery #reactjs #typescript
Вопрос:
Я хочу очистить текст поиска при фокусировке из поля множественного выбора По умолчанию onBlur не предусмотрен в пакете
По умолчанию значение поиска сохраняется при отключении фокусировки Поисковый запрос сохраняется после выключения фокусировки из поля
import { Multiselect } from 'multiselect-react-dropdown';
версия: «множественный выбор-реакция-выпадающий список»: «^2.0.1»
<Multiselect
options={categoryList} // Options to display in the dropdown
displayValue="name" //Label to be displayed from the object
avoidHighlightFirstOption={true}
// closeIcon="cancel"
emptyRecordMsg={"No Product type available"}
selectedValues={multiSelectedCat amp;amp; multiSelectedCat.length > 0 ? multiSelectedCat : []} // Preselected value to persist in dropdown
onSelect={multiOnSelectCat} // Function will trigger on select event
onRemove={multiOnRemoveCat} // Function will trigger on remove event />
Как я могу реализовать функциональность onBlur, поскольку она не предусмотрена по умолчанию, и я не смог найти много в документах.
Требование состоит в том, чтобы очистить текст поиска при фокусировке.
Ответ №1:
Вы можете использовать обратный вызов ref и объединить его с размытием для обновления состояния входного значения в многозначном выборе.
Вы можете увидеть этот пример: https://codesandbox.io/s/react-playground-forked-kpgmo?file=/index.js
this.multiselectRef = (element) => {
if (element) {
$("#search_input").blur(function() {
setTimeout(function() {
element.setState({
inputValue: ""
});
}, 1);
});
}
};