react material 写一个Autocomplete组件代码实现
时间: 2024-05-09 20:18:20 浏览: 229
40行代码内实现一个React.js
好的,以下是一个使用 React 和 Material-UI 编写的 Autocomplete 组件示例代码:
```
import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import TextField from '@material-ui/core/TextField';
import Autocomplete from '@material-ui/core/Autocomplete';
const options = ['Option 1', 'Option 2', 'Option 3'];
const useStyles = makeStyles((theme) => ({
root: {
'& > *': {
margin: theme.spacing(1),
width: '25ch',
},
},
}));
const AutocompleteComponent = () => {
const classes = useStyles();
return (
<form className={classes.root} noValidate autoComplete="off">
<Autocomplete
id="autocomplete-demo"
options={options}
renderInput={(params) => (
<TextField {...params} label="Autocomplete" variant="outlined" />
)}
/>
</form>
);
};
export default AutocompleteComponent;
```
这个组件使用 Material-UI 提供的 `Autocomplete` 和 `TextField` 组件,在一个表单内部渲染了一个自动补全选择器。
我们首先定义了选项数组 `options`,然后使用 `makeStyles` 函数创建一个样式表,之后渲染了一个表单,内部包含一个 `Autocomplete` 组件和一个带标签和边框的 `TextField` 组件。
`Autocomplete` 组件的 `options` 属性接收了我们之前定义的选项数组,`renderInput` 属性用于渲染 `TextField` 组件,最终将这个自动补全选择器返回。
希望这个代码能够帮助到你,如果有不理解的地方可以随时问我。
阅读全文