代码之家  ›  专栏  ›  技术社区  ›  HemalHerath

如何在React JS中的标签下面显示EditText详细信息?

  •  0
  • HemalHerath  · 技术社区  · 6 年前

    我试图在编辑文本下面显示用户输入的内容,但它不工作,所有文本字段都链接在一起。

    如何使其工作?我需要在下面的标签中显示用户输入的内容

    class ComposedTextField extends React.Component {
      state = {
        name: '',
        title: '',
        email: '',
        experience: ''
      };
    
      handleChange = event => {
        this.setState({ 
              name: event.target.value, 
              title: event.target.value,
              email: event.target.value,
              experience: event.target.value
            });
      };
    
      render() {
        const { classes } = this.props;
    
        return (
          <div className={classes.container}>
            <Typography variant="headline">Header Info</Typography>
            <FormControl className={classes.formControl}>
              <InputLabel htmlFor="name-simple">Name</InputLabel>
              <Input id="name-simple" value={this.state.name} onChange={this.handleChange}/>
              <p>{this.state.name}</p>
            </FormControl>
            <FormControl className={classes.formControl}>
              <InputLabel htmlFor="title-simple">Title</InputLabel>
              <Input id="title-simple" value={this.state.title} onChange={this.handleChange}/>
              <p>{this.state.title}</p>
            </FormControl>
            <FormControl className={classes.formControl}>
              <InputLabel htmlFor="email-simple">Email</InputLabel>
              <Input id="email-simple" value={this.state.email} onChange={this.handleChange}/> 
              <p>{this.state.email}</p>
            </FormControl>
            <FormControl className={classes.formControl}>
              <InputLabel htmlFor="experience-simple">Experience</InputLabel>
              <Input id="experience-simple" value={this.state.experience} onChange={this.handleChange}/>
              <p>{this.state.experience}</p>
            </FormControl>
          </div>
        );
      }
    }
    

    我该怎么做?我是新手,请帮帮我。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Manoz    6 年前

    变化 handleChange 方法

     handleChange = event => {
        this.setState({ [event.target.name]:event.target.value });
      };
    

    并用name属性来修饰输入的文本元素,即

    <Input name="name" id="name-simple" value={this.state.name} onChange={this.handleChange}/>
    
    <Input name="email" id="email-simple" value={this.state.email} onChange={this.handleChange}/> 
    

    同样,您也可以对其他元素执行此操作。

    现在,当您在文本框中输入某些内容时,它将被设置为具有当前目标的名称和值的状态。

        2
  •  0
  •   Jeeva    6 年前

    使用如下的句柄更改方法。这会治好你的

    handleChange = event => {
      const { name, value } = event.target
      this.setState({ [name]: value });
    };