首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改材料-UI自动完成列表的样式?

如何更改材料-UI自动完成列表的样式?
EN

Stack Overflow用户
提问于 2021-01-06 11:29:08
回答 1查看 19.7K关注 0票数 11

我想改变自动完成组件的列表/下拉(而不是输入)的样式,在资料-UI。我用的是材料风格的造型。

我希望这个列表在背景中更明显,因此可能会增加框影。

我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-06 16:26:03

其中一种方法是调整elevation使用的Paper组件的Autocomplete。下面的示例通过指定自定义Paper组件(CustomPaper)中的值来使用8,然后通过AutocompletePaperComponent支柱提供该组件。

代码语言:javascript
复制
import React from "react";
import TextField from "@material-ui/core/TextField";
import Autocomplete from "@material-ui/lab/Autocomplete";
import Paper from "@material-ui/core/Paper";

const CustomPaper = (props) => {
  return <Paper elevation={8} {...props} />;
};
export default function ComboBox() {
  return (
    <Autocomplete
      id="combo-box-demo"
      options={top100Films}
      getOptionLabel={(option) => option.title}
      style={{ width: 300 }}
      PaperComponent={CustomPaper}
      renderInput={(params) => (
        <TextField {...params} label="Combo box" variant="outlined" />
      )}
    />
  );
}

如果elevation支柱没有给您提供您想要的外观,您可以像下面的示例一样通过Autocompleteclasses支柱定制Autocomplete组件的样式,该示例使用非常难看的边框作为演示目的,但您可以使用相同的方法进行任何CSS更改。

代码语言:javascript
复制
import React from "react";
import TextField from "@material-ui/core/TextField";
import Autocomplete from "@material-ui/lab/Autocomplete";
import { makeStyles } from "@material-ui/core/styles";

const useStyles = makeStyles({
  paper: {
    border: "5px solid black"
  }
});
export default function ComboBox() {
  const classes = useStyles();
  return (
    <Autocomplete
      id="combo-box-demo"
      options={top100Films}
      getOptionLabel={(option) => option.title}
      style={{ width: 300 }}
      classes={{ paper: classes.paper }}
      renderInput={(params) => (
        <TextField {...params} label="Combo box" variant="outlined" />
      )}
    />
  );
}

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65594965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档