【发布时间】:2020-12-25 15:33:51
【问题描述】:
我对 React 和 Hooks 还很陌生,并试图用 hooks 建立联系形式。 我无法更改字段中的值,也无法在输入中键入任何内容,并且 onChange() 没有触发。但是浏览器和控制台上没有错误,所以我无法弄清楚。 你知道原因吗?
这是我的代码。
import React , {useState} from 'react';
import Button from '@material-ui/core/Button';
import Dialog from '@material-ui/core/Dialog';
import DialogActions from '@material-ui/core/DialogActions';
import DialogContent from '@material-ui/core/DialogContent';
import DialogTitle from '@material-ui/core/DialogTitle';
import TextInput from './TextInput'
const FormDialog = props => {
const {
handleClose,
open,
} = props;
const [values, setValues] = useState({
name: "",
email: "",
description: ""
});
const handleChange = event => {
setValues({
...values,
[event.target.name]: event.target.value
});
};
return(
<Dialog
open={open}
onClose={handleClose}
aria-labelledby="alert-dialog-title"
aria-describedby="alert-dialog-description"
>
<DialogTitle id="alert-dialog-title">Contact Form</DialogTitle>
<DialogContent>
<TextInput
label={“name} multiline={false} rows={1}
value={values.name} type={"text"} onChange={handleChange}
/>
<TextInput
label={“email”} multiline={false} rows={1}
value={values.email} type={"email"} onChange={handleChange}
/>
<TextInput
label={“more”} multiline={false} rows={5}
value={values.description} type={"text"} onChange={handleChange}
/>
</DialogContent>
<DialogActions>
<Button onClick={props.handleClose} color="primary">
cancel
</Button>
<Button onClick={submitForm} color="primary" autoFocus>
send
</Button>
</DialogActions>
</Dialog>
)
}
export default FormDialog
【问题讨论】:
-
因为
TextInput中没有event.target.name绑定 -
您能否为所有组件添加导入,因为我在材质 UI 中看不到 TextInput,如果是您自己的,请也添加该代码。
-
我使用这些版本的材料 ui "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", "@material -ui/system": "^4.9.14",
标签: reactjs material-ui react-hooks