reactjs - Material UI Autocomponent:将样式传递给 inputProp={} 会产生错误
问题描述
在 Material UI 自动完成中将样式传递给 inputProp={} 会产生“useAutocomplete.js:919 Uncaught TypeError: Cannot read property 'focus' of null”错误。这是示例代码:
renderInput={params => (
<div>
<TextField
multiline={false}
classes={{
root: classes.textField
}}
{...params}
variant="outlined"
placeholder="Search"
inputProps={{ classes: { root: classes.text } }}
/>
</div>
)}
我不太明白这个问题,有什么建议吗?
解决方案
我在这里找到了解决方案:
在 Material-ui Autocomplete 组件上设置文本颜色、轮廓和填充
“这是您尝试过的方法(就样式而言,它有效,但破坏了自动完成功能):
renderInput={params => (
<TextField
{...params}
label=""
InputProps={{
className: classes.inputColor
}}
variant="outlined"
fullWidth
/>
)}
上述方法会导致问题,因为 Autocomplete 组件将 InputProps 作为传递给 TextField 的参数的一部分传递,因此显式传递的 InputProps 将完全替换 params 中的 InputProps。
相反,您应该为 Autocomplete 组件利用 inputRoot CSS 类:
<Autocomplete classes={{inputRoot: classes.inputRoot}} .../>
"
推荐阅读
- python - 在 Google Colab 中查看字符串输出时出现问题
- sql - 数据库在PostgreSQL中选择所有带有表限定符的数据
- reactjs - 如何在 useState 中进行回调
- spring-boot - 如何找到Kafka消息的处理时间?
- javascript - 奇怪的函数行为
- python - 通过神经网络进行样本外预测
- mapbox - “显示地图”示例未显示任何地图
- oracle - TNS-12545:连接失败,因为目标主机或对象不存在
- java - 是否有一种格式来设置千位分隔符并使用 Apache poi 设置两位小数?
- node.js - 调用API请求时Nodejs中的ECONNRESET错误