作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当选项是对象时选择选项的最佳方式是什么?
在更改所选值期间,我需要获取所选选项对象
示例https://codesandbox.io/s/st-of-select-object-ssib9
function App() {
const [value, setValue] = useState(options[0]);
return (
<select
value={value}
onChange={event => {
setValue(event.target.value);
}}
>
{options.map(option => {
return <option value={option}>{option.label}</option>;
})}
</select>
);
}
最佳答案
我认为您希望状态成为一个对象,而不是选择的值,如果是这样,请尝试以下操作:
const [option, setOption] = useState(options[0]);
function handleChange(event) {
const { value } = event.target;
const option = options.find(o => o.value === parseInt(value, 10));
if(option)
setOption(option); // object
}
...
<select
value={option.value}
onChange={handleChange}
>
{options.map(option => <option key={option.value} value={option.value}>{option.label}</option>)}
</select>
演示:
关于javascript - 当选项是对象时选择选项的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59541645/
我在 lambda 演算中通过名称类型参数化了术语表示: {-# LANGUAGE DeriveFunctor #-} data Lambda a = Var a | App (Lambda a) (
我是一名优秀的程序员,十分优秀!