zoukankan      html  css  js  c++  java
  • reactor---元数据驱动的表单

    class NameForm extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          metas:[
            {type:"input",prop:"name",label:"name",defaultValue:"jy"}
          ],
          model:{},
          value: ''
        };
        this.state.metas.map((item)=>{
          this.state.model[item.prop]=item.defaultValue?item.defaultValue:null;
          console.log(this.state);
        });
        this.handleChange = this.handleChange.bind(this);
        this.handleSubmit = this.handleSubmit.bind(this);
      }

      /*handleChange(prop,event) {
        console.log("xxxxxxxxxxxxxxxxxxxxxx");
        console.log(prop);
        this.setState({
          model:{
            [prop]:event.target.value
          }
        });
      }*/

    handleChange(event) {
        console.log("xxxxxxxxxxxxxxxxxxxxxx");
        console.log(prop);
        this.setState({
          model:{
            [event.target.name]:event.target.value
          }
        });
      }

      handleSubmit(event) {
        alert('A name was submitted: ' + this.state.value);
        console.log(this.state.model);
        event.preventDefault();
      }

      render() {
        var x=this.state.metas.map((item)=>
                  <label key={item.prop}>
                      {item.label}
                      //<input type="input" name={item.prop} value={this.state.model[item.prop]} onChange={(e)=>this.handleChange(item.prop,e)}></input>

                      <input type="input" name={item.prop} value={this.state.model[item.prop]} onChange={(e)=>this.handleChange(item.prop,e)}></input>
                 </label>
               );
        return (
          <form onSubmit={this.handleSubmit}>
            {x}
            <input type="submit" value="Submit" />
          </form>
        );
      }
    }

    ReactDOM.render(
      <NameForm />,
      document.getElementById('root')
    );

  • 相关阅读:
    制作类似QQ截图软件
    XML文件与实体类的互相转换
    MFC中真彩工具条的制作方法
    MFC使用技巧集锦(1)(转载)
    抽象工厂模式与工厂方法模式区别
    VC数据库编程分析
    如何让工具条显示256色图像
    华为软件编程规范和范例
    设计模式总结性试题
    VC++中基于ADO操作ACCESS数据库,FLEXGRID控件的综合应用
  • 原文地址:https://www.cnblogs.com/justart/p/10355994.html
Copyright © 2011-2022 走看看