CSS для изменения react MUI select

#css #reactjs #material-ui

#css #reactjs #материал-пользовательский интерфейс

Вопрос:

Мне нужно изменить пользовательский интерфейс select компонента пользовательского интерфейса react material на такой.

введите описание изображения здесь

введите описание изображения здесь

Это CSS, который я ввел до сих пор

  const styles = {
    width:'250px',
    border:'1px solid gray',
    borderBottom:'none',
    padding:'1rem'
  }
  

Это код react.

  <FormControl styles={styles}>
          {/* <InputLabel id='demo-simple-select-label'>Categories</InputLabel> */}
          <Select
            labelId='demo-simple-select-label'
            id='demo-simple-select'
            value={age}
            onChange={handleChange}
            style={styles}
          >
            <MenuItem value={'All'}>All</MenuItem>
            {categories.map((category) => (
              <MenuItem value={category} key={category}>
                {category}
              </MenuItem>
            ))}
          </Select>
        </FormControl>
  

Здесь я комментирую вводимый компонент. Итак, теперь, если ничего не выбрано, панель пуста. Я хочу отобразить текст «Категории», когда ничего не выбрано с помощью CSS. также настройте этот код, чтобы он на 100% соответствовал заданному дизайну.

Как мне добиться этого с помощью CSS?

Это мой полный код https://codesandbox.io/s/material-demo-forked-wcmx1?file=/demo.js:1028-1606

Любая помощь!

Заранее спасибо.

Комментарии:

1. можете ли вы воспроизвести это? было бы полезно

2. @robert Извините, я забыл добавить codebox. Теперь я обновился.

3. проверьте ( codesandbox.io/s/material-demo-forked-yuly4 )

Ответ №1:

из документов : (https://material-ui.com/api/select /)

  1. displayEmpty

Если значение true, отображается значение, даже если элементы не выбраны. Чтобы отобразить значимое значение, в renderValue prop должна быть передана функция, которая возвращает значение, которое будет отображаться, если элементы не выбраны. Вы можете использовать его только тогда, когда собственный prop имеет значение false (по умолчанию).

  1. renderValue

Визуализируйте выбранное значение. Вы можете использовать его только тогда, когда собственный prop имеет значение false (по умолчанию).

Подпись: функция (значение: любое) => Значение ReactNode: значение, предоставляемое компоненту.

песочница