reactjs - 如何设置反应材质ui选择组件高度的样式
问题描述
我正在研究一个高度不能降低的选择组件。下面是截图
我希望选择组件高度与自动完成组件的高度相同,即项目级别
我可以通过检查在 HTML div 元素中添加填充来实现这一点。但是,如何将该填充添加到组件是未知的。这是我为我添加的组件看到的 HTML。
<div class="MuiInputBase-root MuiOutlinedInput-root" style="width: 300px;"><div class="MuiSelect-root MuiSelect-select MuiSelect-selectMenu MuiSelect-outlined MuiInputBase-input MuiOutlinedInput-input" tabindex="0" role="button" aria-haspopup="listbox" aria-labelledby="combo-box-demo" id="combo-box-demo" style="
padding: 8px; //**** here I have added padding to fix the issue ****
">a134</div>
...
...
...
问题代码存在于代码 sanbox https://codesandbox.io/s/great-hill-ywql0?file=/App.js
参考代码
import React from "react";
import "./styles.css";
import Select from "@material-ui/core/Select";
import MenuItem from "@material-ui/core/MenuItem";
import ListItemText from "@material-ui/core/ListItemText";
import Checkbox from "@material-ui/core/Checkbox";
import Autocomplete from "@material-ui/lab/Autocomplete";
import TextField from "@material-ui/core/TextField";
import Button from "@material-ui/core/Button";
export default function App() {
return (
<div
style={{
display: "flex",
flexDirection: "row",
padding: "10px",
paddingLeft: 0
}}
>
<Select
variant="outlined"
style={{ width: 300 }}
multiple="true"
value={[]}
onChange={this.handleProjectName}
onClose={this.handleProjectName_close}
id="combo-box-demo"
renderValue={(selected) => selected.join(", ")}
>
<MenuItem value="">
<em>Select</em>
</MenuItem>
{[{ id: 1, name: "a" }].map((item) => (
<MenuItem key={item.id} value={item.name}>
<Checkbox checked={[false]} />
<ListItemText primary={item.name} />
</MenuItem>
))}
</Select>
<Autocomplete
size="small"
value={[]}
onChange={this.handleProjectLevel}
id="combo-box-demo"
options={[]}
getOptionLabel={(option) => option.level}
style={{ width: 300, marginLeft: 10 }}
renderInput={(params) => (
<TextField {...params} label="Project levels" variant="outlined" />
)}
/>
<Button
variant="outlined"
color="primary"
disabled={![]}
style={{ marginLeft: 10 }}
onClick={this.handleProjectReport}
>
{" "}
Submit
</Button>
</div>
);
}
解决方案
使用SelectDisplayProps
道具。您也可以传递className
或classes
使这项工作。
const { Select, MenuItem } = MaterialUI
function App() {
return (
<div>
<Select
SelectDisplayProps={{ style: { paddingTop: 8, paddingBottom: 8 } }}
variant="outlined"
style={{ width: 300 }}
multiple
value={[]}
renderValue={(selected) => selected.join(", ")}
>
<MenuItem value="">
<em>Select</em>
</MenuItem>
</Select>
</div>
);
}
ReactDOM.render(<App />, document.getElementById('root'))
<script src="https://unpkg.com/react@latest/umd/react.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@latest/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@material-ui/core@latest/umd/material-ui.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/babel-standalone@latest/babel.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
<div id="root"></div>
推荐阅读
- reactjs - 找不到模块'core-js/core/array'
- python - 无法从并行目录导入包
- api - 为什么我们需要为特定的 vulkan 结构分配类型
- c++ - lli 正在为 clang++ 生成的 IR 生成运行时错误,而生成的可执行文件没有为 c++ 源代码生成运行时错误
- javascript - 元素外部的主体或窗口通过在 javascript 中单击删除相同的元素
- dataframe - 从pyspark的多列中选择非空值
- java - java - 如何修复在java中扩展泛型方法的警告?
- r - 使用 R 报告调查加权 logit 模型的平均边际效应
- xml - Powerpoint:使用标签动态控制 getEnabled
- python - 在 python 代码中使用 .txt 文件中的值