reactjs - 如何在自动完成组件(材质 UI)中的选项上添加 onClick 事件?
问题描述
如何在选项上添加 onClick 事件-我的意思是当您单击所选选项时,我想链接到某处,而不仅仅是放入 searchField(或 textField)?我在网上非常努力地搜索,但我只是找不到如何做到这一点。
<Autocomplete
freeSolo
classes={classes}
options={searchItems}
getOptionLabel={(option) =>
option.title ? option.title : option.name
}
style={{ width: 300, borderRight: "none", borderLeft: "none" }}
renderInput={(params) => {
return (
<TextField
{...params}
variant="outlined"
fullWidth
placeholder="Search for movie, tv or person"
value={value}
onChange={(e) => handleChange(e)}
/>
);
}}
/>
解决方案
您需要在Autocomplete
组件内移动 onChange 函数,如下所示:
<Autocomplete
id="combo-box-demo"
classes={classes}
options={searchItems}
getOptionLabel={(option) =>
option.title ? option.title : option.name
}
style={{ width: 300, borderRight: "none", borderLeft: "none" }}
onChange={(e, value) => console.log(e.target, value.title)}
renderInput={(params) => (
<TextField {...params} label="Combo box" variant="outlined" />
)}
/>
这是我创建的一个示例。当组件中的onChange
函数Autocomplete
被触发时,它会在控制台上显示值。根据文档,这里的 onchange 函数传递了三个名为event
,value
和reason
.
推荐阅读
- macos - 基于 REST 的 Cryptotokenkit 实现
- android - 如何从另一个类 React Native 更改 navigationOptions
- java - 无法压缩位图android studio
- javascript - discord.js-commando if else 循环
- google-app-engine - 将防火墙规则应用于谷歌云中的特定标签不起作用
- c# - 如何根据 WebAPI 中的参数绑定模型
- angular - Angular 4嵌套反应形式手动设置隐藏输入的值
- ios - React-Native - 将应用程序发送到 iPhone 进行测试的最佳方式
- javascript - 在不滚动的情况下将单词换行到下一行
- performance - 提高 Spark ML ALS 的计算性能