React:如何在 Material-UI 自动完成中覆盖输入 class
React: How to override input class in Material-UI Autocomplete
我正在做一个 React 项目,我一直在其中使用 Bootstrap 作为前端。我已经集成了来自 Material-UI.
的自动完成库
#ref: https://material-ui.com/components/autocomplete/
问题: 我正在尝试将 form-control
class 集成到输入标签中。但是没用。
尝试过:
<Autocomplete
id="combo-box-demo"
options={this.props.customers}
onChange={(_, value) => {
console.log(value);
}}
getOptionLabel={(option) => option.name}
style={{ width: 300 }}
renderInput={(params) => (
<div ref={params.InputProps.ref}>
<input
className="form-control"
placeholder="Search by client name"
type="text"
{...params.inputProps}
/>
</div>
)}
/>
结果
预期
我最终找到了 CSS 的解决方案。我复制了 .form-control
class 的 css 代码并输入了 combo-box-demo ID.
input#combo-box-demo {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
我正在做一个 React 项目,我一直在其中使用 Bootstrap 作为前端。我已经集成了来自 Material-UI.
的自动完成库#ref: https://material-ui.com/components/autocomplete/
问题: 我正在尝试将 form-control
class 集成到输入标签中。但是没用。
尝试过:
<Autocomplete
id="combo-box-demo"
options={this.props.customers}
onChange={(_, value) => {
console.log(value);
}}
getOptionLabel={(option) => option.name}
style={{ width: 300 }}
renderInput={(params) => (
<div ref={params.InputProps.ref}>
<input
className="form-control"
placeholder="Search by client name"
type="text"
{...params.inputProps}
/>
</div>
)}
/>
结果
预期
我最终找到了 CSS 的解决方案。我复制了 .form-control
class 的 css 代码并输入了 combo-box-demo ID.
input#combo-box-demo {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0.25rem;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}