/
githubmirror
/
material-ui
Обзор
Документация
Войти
/
githubmirror
/
material-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
docs/data/material/components/autocomplete/Asynchronous.tsx
121 строка
3 KB
Zeeshan Tamboli
[text field] Remove deprecated props (#47878)
13 мар 2026, 13:13
Не верифицирован
13 мар 2026, 13:13
303a7b3
Код
Авторство
О чём код?
import * as React from 'react'; import TextField from '@mui/material/TextField'; import Autocomplete from '@mui/material/Autocomplete'; import CircularProgress from '@mui/material/CircularProgress'; interface Film { title: string; year: number; } function sleep(duration: number): Promise<void> { return new Promise<void>((resolve) => { setTimeout(() => { resolve(); }, duration); }); } export default function Asynchronous() { const [open, setOpen] = React.useState(false); const [options, setOptions] = React.useState<readonly Film[]>([]); const [loading, setLoading] = React.useState(false); const handleOpen = () => { setOpen(true); (async () => { setLoading(true); await sleep(1e3); // For demo purposes. setLoading(false); setOptions([...topFilms]); })(); }; const handleClose = () => { setOpen(false); setOptions([]); }; return ( <Autocomplete sx={{ width: 300 }} open={open} onOpen={handleOpen} onClose={handleClose} isOptionEqualToValue={(option, value) => option.title === value.title} getOptionLabel={(option) => option.title} options={options} loading={loading} renderInput={(params) => ( <TextField {...params} label="Asynchronous" slotProps={{ ...params.slotProps, input: { ...params.slotProps.input, endAdornment: ( <React.Fragment> {loading ? <CircularProgress color="inherit" size={20} /> : null} {params.slotProps.input.endAdornment} </React.Fragment> ), }, }} /> )} /> ); } // Top films as rated by IMDb users. http://www.imdb.com/chart/top const topFilms = [ { title: 'The Shawshank Redemption', year: 1994 }, { title: 'The Godfather', year: 1972 }, { title: 'The Godfather: Part II', year: 1974 }, { title: 'The Dark Knight', year: 2008 }, { title: '12 Angry Men', year: 1957 }, { title: "Schindler's List", year: 1993 }, { title: 'Pulp Fiction', year: 1994 }, { title: 'The Lord of the Rings: The Return of the King', year: 2003, }, { title: 'The Good, the Bad and the Ugly', year: 1966 }, { title: 'Fight Club', year: 1999 }, { title: 'The Lord of the Rings: The Fellowship of the Ring', year: 2001, }, { title: 'Star Wars: Episode V - The Empire Strikes Back', year: 1980, }, { title: 'Forrest Gump', year: 1994 }, { title: 'Inception', year: 2010 }, { title: 'The Lord of the Rings: The Two Towers', year: 2002, }, { title: "One Flew Over the Cuckoo's Nest", year: 1975 }, { title: 'Goodfellas', year: 1990 }, { title: 'The Matrix', year: 1999 }, { title: 'Seven Samurai', year: 1954 }, { title: 'Star Wars: Episode IV - A New Hope', year: 1977, }, { title: 'City of God', year: 2002 }, { title: 'Se7en', year: 1995 }, { title: 'The Silence of the Lambs', year: 1991 }, { title: "It's a Wonderful Life", year: 1946 }, { title: 'Life Is Beautiful', year: 1997 }, { title: 'The Usual Suspects', year: 1995 }, { title: 'Léon: The Professional', year: 1994 }, { title: 'Spirited Away', year: 2001 }, { title: 'Saving Private Ryan', year: 1998 }, { title: 'Once Upon a Time in the West', year: 1968 }, { title: 'American History X', year: 1998 }, { title: 'Interstellar', year: 2014 }, ];