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')
);

reactor---元数据驱动的表单的更多相关文章

  1. Template-Driven Forms 模板驱动式表单

    Angular 4.x 中有两种表单: Template-Driven Forms - 模板驱动式表单 (类似于 AngularJS 1.x 中的表单 ) Reactive Forms - 响应式表单 ...

  2. 元数据管理—动态表单设计器在crudapi系统中完整实现

    表单设计 在前面文章中,我们通过一系列案例介绍了表单设计的一些基本功能,表单设计起到非常重要作用,也是crudapi核心,所以本文会详细介绍表单设计中一些其它功能. 概要 表单字段column属性 列 ...

  3. angular表单的使用实例

    原文 https://www.jianshu.com/p/da1fd5396798 大纲 1.模板驱动表单的创建 2.响应式表单的创建 3.模板驱动型表单的自定义指令 4.响应式表单的自定义指令 5. ...

  4. ng2响应式表单-翻译与概括官网REACTIVE FORMS页面

    本文将半翻译半总结的讲讲ng2官网的另一个未翻译高级教程页面. 原文地址. 文章目的是使用ng2提供的响应式表单技术快速搭出功能完善丰富的界面表单组件. 响应式表单是一项响应式风格的ng2技术,本文将 ...

  5. Angular2响应式表单

    本文将半翻译半总结的讲讲ng2官网的另一个未翻译高级教程页面. 原文地址. 文章目的是使用ng2提供的响应式表单技术快速搭出功能完善丰富的界面表单组件. 响应式表单是一项响应式风格的ng2技术,本文将 ...

  6. Angular Reactive Forms -- Model-Driven Forms响应式表单

    Angular 4.x 中有两种表单: Template-Driven Forms - 模板驱动式表单 (类似于 AngularJS 1.x 中的表单 )  官方文档:https://v2.angul ...

  7. Angular2响应式表单-翻译与概括官网REACTIVE FORMS页面

    本文将半翻译半总结的讲讲ng2官网的另一个未翻译高级教程页面. 原文地址. 文章目的是使用ng2提供的响应式表单技术快速搭出功能完善丰富的界面表单组件. 响应式表单是一项响应式风格的ng2技术,本文将 ...

  8. angular表单经验分享

    原文 https://www.jianshu.com/p/af359bd04f32 大纲 1.表单的名字不可以和传入的值的名字相同 2.在模板驱动表单的时候要使用angular表单的验证功能,需要将n ...

  9. angular表单知识点

    原文 https://www.jianshu.com/p/c772d143e1fc 大纲 1.对表单的理解 2.模板驱动表单(Template Driven Forms) 3.响应式表单(Reacti ...

  10. angular4 Form表单相关

    ng4中,有两种方式去声明一个表单 一:Template-Driven Forms - 模板驱动式表单   [引入FormsModule] 1.ngForm赋值 [可以方便的获取表单的值] <f ...

随机推荐

  1. IDEA 导出可执行jar包【转载】

    1,在项目上鼠标右键 --> Open Module Settings,或者[shift+ctrl+alt+s] 2, Artifacts --> + --> JAR --> ...

  2. vim 一些操作

    在ESC下 gg # 光标跳到开头 dG # 删除光标后的数据 dd # 删除光标所在行 gg dG # 删除全部 (光标跳到开头&删除光标后的数据) x # 删除当前光标下的字符 i # 编 ...

  3. 容器远程访问vnc--CentOS 6.8安装和配置VNC

    对于用惯了WIN系统的朋友来说,没有图形化操作界面的Linux用起来实在太难受了.实际上,Linux也是有图形化操作界面的,这就是VNC.接下来本文将告诉大家如何在CentOS 6.8下安装和配置 V ...

  4. 树莓派 Ubuntu mate 16.04 下开启vncserver(自动启动+改分辨率)

    树莓派 Ubuntu mate 16.04 下开启vncserver(自动启动+改分辨率) 参考博文:https://blog.csdn.net/Mr_dhy/article/details/8282 ...

  5. 开启glassfish安全管理允许远程访问das

    root@localhost:/opt/glassfish3/bin# ./asadmin enable-secure-admin remote failure: 至少有一个管理员用户的口令为空, 安 ...

  6. Nexus-FEX基础配置

    1.FEX基本配置feature fex fex 100  pinning max-links 1  >>>>该值默认就是1  description "FEX100 ...

  7. 【原】mac电脑使用总结

    mac下终端配置(item2+oh-my-zsh)+solarized配色方案:https://www.cnblogs.com/weixuqin/p/7029177.html

  8. base64相关

    1.base64指定的64个字符(包含52个大小写.10个数字和+./): abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ...

  9. 转:HttpClient使用详解

    一.使用方法 使用HttpClient发送请求.接收响应很简单,一般需要如下几步即可. 1. 创建HttpClient对象. 2. 创建请求方法的实例,并指定请求URL.如果需要发送GET请求,创建H ...

  10. php 基础 获取远程连接

    1 file_get_contents get $opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=> ...