Я пытаюсь использовать Автозаполнение , но мне нужно, чтобы хранилище значений содержало только указанное свойство c, а не полный объект.
Например, этот случай является свойством Value
, но может быть любым.
const options = [
{ Value: 1, label: "Option 1", anyOtherProp: 123 },
{ Value: 2, label: "Option 2", anyOtherProp: 456 },
{ Value: 3, label: "Option 3", anyOtherProp: 789 }
];
export default function App() {
const [value, setValue] = useState(null);
const valueKey = "Value"; // this should be any key
const handleChange = (e, value) => {
// what to do here?
setValue(value[valueKey]);
};
return (
<div className="App">
<Autocomplete
options={options}
onChange={handleChange}
value={value}
getOptionLabel={option => option.label}
renderInput={props => <TextField {...props} fullWidth />}
/>
</div>
);
}
Когда я это делаю, ввод пуст и ничего не показывает.
Мне нужно, чтобы значение было только одним свойством объекта, а не объекта полного параметра.
Вот код codesandbox , который показывает проблему.