Rei*_*res 6 css reactjs material-ui
我正在使用Autocomplete
Material UI,并且有一个带有颜色属性的列表。我必须使用选项背景中的相应颜色逐个渲染选项。
这是一个例子:
import React from "react";
import TextField from "@material-ui/core/TextField";
import Autocomplete from "@material-ui/lab/Autocomplete";
export default function ComboBox() {
return (
<Autocomplete
id="combo-box-demo"
options={top100Films}
getOptionLabel={option => option.title}
style={{ width: 300 }}
renderInput={params => {
return (
<TextField
{...params}
label="Combo box"
variant="outlined"
fullWidth
/>
);
}}
/>
);
}
const top100Films = [
{ title: "The Shawshank Redemption", year: 1994, color: '#FF0000' },
{ title: "The Godfather", year: 1972, color: '#FF5555' },
{ title: "Avatar", year: 2010, color: '#FFFFFF' },
// Plus a bunch more
];
Run Code Online (Sandbox Code Playgroud)
Nea*_*arl 10
您可以renderOption
在最新版本的 MUI 中用于有条件地渲染每个选项的样式。
<Autocomplete
renderOption={(props, option) => {
const { title, color } = option;
return (
<span {...props} style={{ backgroundColor: color }}>
{title}
</span>
);
}}
{...}
/>
Run Code Online (Sandbox Code Playgroud)