我在从州初始化表单时遇到了麻烦。
长话短说,我正在使用Input
compoenent,Value
道具。检查我的应用程序时,我可以看到该值已正确初始化。
import * as React from 'react';
import * as styles from './Input.css';
interface InputProps {
type: 'Text' | 'Password' | 'Email';
placeholder: string;
name: any;
value?: any;
}
export default class Input extends React.Component<InputProps, {}> {
render() {
return (
<div className={styles.inputContainer}>
<input
type={this.props.type.toLowerCase()}
className={styles.input + ' ' + styles[`input${this.props.type}`]}
placeholder={this.props.placeholder}
/>
<i />
</div>
);
}
}
现在,我的问题是,如果我保持这种方式,即使输入组件使用值初始化,我的输入也是空的。填写输入的唯一方法是添加:
value={this.props.value}
在这种情况下,输入用来自状态的数据填充,但它们也变成只读:我无法编辑它们的内容。
如何在保持可编辑状态的同时使用状态数据预填充输入?