0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

material-ui v4で、Selectを選択しているときの見た目を変える

Last updated at Posted at 2025-01-09

結論

Selet自体をスタイリングするのではなく、InputBaseをスタイリングしてSelectに渡す

方法

material-uiのwithStylesなどを使ってスタイリングする場合は、上記ドキュメントのCSSRule nameに対してスタイリングを適用していきます。
選択している状態のスタイルはfocusedに書いていきます。

styled-componentのstyledを使ってスタイリングする場合は、上記ドキュメントのCSSGlobal classが割り当てられている場合に対してスタイリングを適用していきます。
選択している状態のスタイルは&.Mui-focusedに書いていきます。

import { InputBase, Select, MenuItem } from "@material-ui/core";

const StyledInputBase = withStyles(() => ({
  root: {
    outline: '1px solid black',
  },
  focused: {
    outline: '1px solid red',
  }
}))(InputBase);
import { InputBase, Select, MenuItem } from "@material-ui/core";
import styled from "styled-components";

const StyledInputBase = styled(InputBase)`
  outline: 1px solid black;
  &.Mui-focused {
    outline: 2px solid red;
  }
`

あとは、作成したStyledInputBaseSelectに渡します。

<Select
  input={<StyledInputBase />}
  variant="outlined"
>
  <MenuItem value="foo">foo</MenuItem>
  <MenuItem value="bar">bar</MenuItem>
  <MenuItem value="baz">baz</MenuItem>
</Select>

このように、Selectが選択されているときの見た目を変えることができます。
image.png

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?