Некоторое время я успешно использую response-select, но у меня проблема с Creatable
версией компонента.
Вот мой код:
const options = [
{
label: 'One',
value: 'One'
},
{
label: 'Two',
value: 'Two'
},
{
label: 'Three',
value: 'Three'
},
{
label: 'Four',
value: 'Four'
}
];
const selectedItems = [
{
label: 'One',
value: 'One'
}
];
const App = () => (
<div style={styles}>
<Select.Creatable
backspaceRemoves={true}
multi
openOnFocus={false}
openOnClick={false}
onSelectResetsInput={false}
onBlurResetsInput={false}
onCloseResetsInput={false}
arrowRenderer={() => null}
clearRenderer={() => null}
options={options}
value={selectedItems} />
</div>
);
Я также создал исполняемую версию этого здесь: https://codesandbox.io/s/q27lnon96
Как вы можете видеть, открывая страницу песочницы, любой текст, введенный в поле выбора, исчезает, когда пользователь щелкает мышью. Он появляется снова, если выбор снова будет в фокусе.
Чтобы быть точным, мой вопрос касается текста «два», который вводится во входные данные - это не проблема с выбранными значениями (они работают нормально, если настроено правильное состояние и обратные вызовы).
Как я могу заставить response-select сохранить содержимое ввода? Кажется, что он запоминает значение внутри, но скрывает ввод текста, когда он больше не имеет фокуса. Я думал, что установка различных onFooResetsInput
all на false позволит добиться этого, но это не совсем сработало.
Мое приложение использует значение текста, введенного в этот ввод, для воздействия на другие элементы пользовательского интерфейса, поэтому оно не синхронизируется, когда текст скрыт.
- версия response-select: 1.2.1 (Последняя версия)
- версии react и react-dom: 15 или 16 (обе демонстрируют такое поведение)