reactjs - 如何从材料 ui 提交自动完成的值?
问题描述
我已经安装了材料 ui,我从 jsonplaceholder 获得了自动完成选项,它工作得很好,这是我的代码:
const [ value, setValue ] = useState([]);
const [ inputValue, setInputValue ] = useState('');
useEffect(() => {
axios
.get('https://jsonplaceholder.typicode.com/posts')
.then((res) => {
setValue(res.data);
})
.catch((e) => {
console.log('error happened');
});
}, []);
<Autocomplete
id="combo-box-demo"
options={value}
getOptionLabel={(option) => option.title}
style={{ width: 300 }}
inputValue={inputValue}
onInputChange={(event, newInputValue) => {
setInputValue(newInputValue);
}}
onSubmit={() => console.log('hey')}
renderInput={(params) => (
<TextField
onSubmit={() => console.log('hh')}
{...params}
label="Combo box" variant="outlined" />
现在我想要实现的是当用户选择一个选项时,我想控制台记录一些东西。我确实在 Textfield 上尝试了 onSubmit,但它不起作用。
当用户从自动完成中选择一个选项或在文本字段上按 enter 时,我如何控制日志?
解决方案
根据文档,onChange
需要替换组件onSubmit
上的属性。Autocomplete
只要用户从生成的下拉列表中选择了一个新选项,这就会触发。如果您Autocomplete
也是一个“freeSolo”字段,那么当简单地输入某些内容并且用户要点击“Enter”时,它将不起作用。
推荐阅读
- maven - 如何在复杂的 Maven 依赖树中找到同一父级的不同版本?
- php - 如何避免多篇文章中的重复帖子
- c++ - 访问者设计模式和多层类层次结构
- c# - 如何修复谷歌云存储中的“请求错误”?
- vue.js - 在 Image SRC 中连接数据
- java - 正则表达式仅阻止数字或仅空格,但允许数字和空格作为输入
- python - 基于日期熊猫有效地创建行
- ios - 当我使用苹果登录时,会弹出选择框。我选择使用密码继续,提示不完整
- python-3.x - Multiple Flask Application in single uwsgi
- javascript - Javascript将多个对象推入一个空对象