【发布时间】:2021-02-17 22:08:17
【问题描述】:
我正在尝试构建一个选择字段,当列表中只有一个条目时,它将自动“选择”一个条目。我的问题是,在设置列表中的值时不会触发 onChange 事件。是否有可能以编程方式发送这些事件?
这是我目前的代码
export const SelectField = function(props) {
const classes = useStyles();
const {t} = useTranslation();
const [selectedValue, setSelectedValue] = React.useState(undefined);
if (selectedValue === undefined && props.menuEntries.length === 1) {
setSelectedValue(props.menuEntries[0]);
//need to fire an event in this case
} else if (props.addSelectEntry) {
props.menuEntries.push({"name":t("select"), "value":""});
}
return (
<Select
value={selectedValue}
onChange={props.onChange()}
name={props.name}
displayEmpty
className={classes.selectEmpty}
>
{props.menuEntries.map(entry => (
<MenuItem key={entry.name} value={entry.value}>
{entry.name}
</MenuItem>
))}
</Select>);
};
【问题讨论】:
-
` onChange={props.onChange}` - 应该是这样的
-
@UKS 感谢您的建议。但是没有调用 onChange 函数。貌似这个handler只在下拉的onClose方法中调用了
-
onChange将在我们更改 menuItem 时触发。
标签: reactjs material-ui