私はカスタム入力を提供しているreactで作業しています。カスタム入力は、reactの参照の小道具としてmyRefを提供することにより、一部のコンポーネントで使用されます。ただし、すべてのプロセスは正常ですが、コンソールで未定義の値が表示されます。
カスタム入力
class CustomInput extends React.Component {
render() {
const { classes, formControlProps, labelText, id, labelProps,inputRef, inputProps, error, success } = this.props;
return (
<FormControl {...formControlProps} className={formControlProps.className + " " + classes.formControl}>
{labelText !== undefined ? (<InputLabel
classes={{
root: classes.labelRoot + (error ? " " + classes.labelRootError:success ? " " + classes.labelRootSuccess:""),
}}
htmlFor={id}
{...labelProps}
>
{labelText}
</InputLabel>):null}
<Input
classes={{
root: (labelText !== undefined ? "":classes.marginTop),
disabled: classes.disabled,
underline: classes.underline,
inkbar: (error ? classes.inkbarError:success ? classes.inkbarSuccess:classes.inkbar),
}}
id={id}
ref={inputRef} //Here ref props is map with inputRef
{...inputProps}
/>
{error ? <Clear className={classes.feedback + " " + classes.labelRootError}/>:success ? <Check className={classes.feedback + " " + classes.labelRootSuccess}/>:null}
</FormControl>
);
}
}
他のコンポーネントでのカスタム入力の使用
handleSubmit(event) {
event.preventDefault();
console.log(this.email.value); //show undefined in console
}
<form onSubmit={this.handleSubmit.bind(this)}>
<CustomInput
labelText="Email"
id="email"
inputRef={(input) => {this.email = input}} // provided inputRef Prop
formControlProps={{
fullWidth: true
}}
inputProps ={{
type:"email",
}}
/>
</ItemGrid>
</form>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加