/
githubmirror
/
material-ui
Обзор
Документация
Войти
/
githubmirror
/
material-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
docs/data/material/components/selects/CustomizedSelects.js
90 строк
3 KB
Jan Potoms
[docs] Use `React.useId()` for demo IDs (#48300)
19 апр 2026, 13:10
Не верифицирован
19 апр 2026, 13:10
107f22c
Код
Авторство
О чём код?
import * as React from 'react'; import { styled } from '@mui/material/styles'; import InputLabel from '@mui/material/InputLabel'; import MenuItem from '@mui/material/MenuItem'; import FormControl from '@mui/material/FormControl'; import Select from '@mui/material/Select'; import NativeSelect from '@mui/material/NativeSelect'; import InputBase from '@mui/material/InputBase'; const BootstrapInput = styled(InputBase)(({ theme }) => ({ 'label + &': { marginTop: theme.spacing(3), }, '& .MuiInputBase-input': { borderRadius: 4, position: 'relative', backgroundColor: (theme.vars ?? theme).palette.background.paper, border: '1px solid #ced4da', fontSize: 16, padding: '10px 26px 10px 12px', transition: theme.transitions.create(['border-color', 'box-shadow']), // Use the system font instead of the default Roboto font. fontFamily: [ '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', ].join(','), '&:focus': { borderRadius: 4, borderColor: '#80bdff', boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)', }, }, })); export default function CustomizedSelects() { const textboxId = React.useId(); const selectId = React.useId(); const nativeId = React.useId(); const [age, setAge] = React.useState(''); const handleChange = (event) => { setAge(event.target.value); }; return ( <div> <FormControl sx={{ m: 1 }} variant="standard"> <InputLabel htmlFor={`${textboxId}-input`}>Age</InputLabel> <BootstrapInput id={`${textboxId}-input`} /> </FormControl> <FormControl sx={{ m: 1 }} variant="standard"> <InputLabel id={`${selectId}-label`}>Age</InputLabel> <Select labelId={`${selectId}-label`} id={`${selectId}-select`} value={age} onChange={handleChange} input={<BootstrapInput />} > <MenuItem value=""> <em>None</em> </MenuItem> <MenuItem value={10}>Ten</MenuItem> <MenuItem value={20}>Twenty</MenuItem> <MenuItem value={30}>Thirty</MenuItem> </Select> </FormControl> <FormControl sx={{ m: 1 }} variant="standard"> <InputLabel htmlFor={`${nativeId}-select`}>Age</InputLabel> <NativeSelect id={`${nativeId}-select`} value={age} onChange={handleChange} input={<BootstrapInput />} > <option aria-label="None" value="" /> <option value={10}>Ten</option> <option value={20}>Twenty</option> <option value={30}>Thirty</option> </NativeSelect> </FormControl> </div> ); }