reactjs - Material UI (React):如何设置包装 Select 的 Input 样式?
问题描述
我有以下 JSX:
<FormControl>
<InputLabel>My label</InputLabel>
<Select>
...
</Select>
</FormControl>
我使用classes
道具来设置 and 的各个FormControl
方面Select
。问题是Select
组件隐式地用组件包装自己Input
,因此实际上看起来像这样:
<FormControl>
<InputLabel>My label</InputLabel>
<Input>
<Select>
...
</Select>
</Input>
</FormControl>
这就是我遇到问题的地方:我该如何设计Input
包装的Select
?我已经查看了 和 的 CSS API,Select
但FormControl
它们都不允许您设置Input
.
我知道我可以向 中添加一个类名FormControl
,然后使用外部样式表对其进行样式设置,但我想在组件级别对其进行样式设置。
有任何想法吗?
编辑:
我的代码片段(带有虚拟内容),用于说明(已请求):
<FormControl
classes={myClasses.formControl}
>
<InputLabel
htmlFor='country'
classes={myClasses.inputLabel}
>
Select country
</InputLabel>
<Select
value={countryCode}
onChange={onInputChange}
inputProps={{
name: 'countryCode',
id: 'country',
}}
classes={myClasses.select}
>
<MenuItem value='US'>United States</MenuItem>
<MenuItem value='GB'>United Kingdom</MenuItem>
<MenuItem value='FR'>France</MenuItem>
</Select>
</FormControl>
解决方案
您可以通过标准 css 导入(查看生成代码并检索 css 路径)来完成它,或者您可以使用包装器对其进行样式设置并使用样式组件对其进行样式设置。一个带有真实案例的片段对我来说更具体会很有用。
推荐阅读
- mqtt - 将 MQTT 默认端口更改为 443
- spring - Spring JpaRepository findAll() 方法多次返回同一行
- linux-kernel - 从用户空间读取/写入导出内核符号的方法
- android - 应用程序未安装在 Android 设备上 - Ionic4
- javascript - libphonenumber-js:'未捕获的类型错误:用于解析的文本必须是字符串'
- ruby-on-rails - 如何使用 activeadmin 删除管理员的“删除”选项?
- r - Rshiny 中的多输入选择
- r - 如何计算和绘制“beta-delta 贴现模型”?
- angular - 无法订阅 observable
- assembly - 如何让两个代码同时运行?(DOS 组装)