admin-client-antd-react-demo

antd表单收集数据

组件和组件标签的关系:
就好比类型和实例的关系。

使包装的路由组件成为默认暴露的组件:

const WrappedLogin= Form.create()(Login)

export default WrappedLogin

打开工具:
可看见两个Login组件而,那个实例Login组件接受到了一个非常重要的属性form,其内部包含很多可使用的方法,见工具:

image.png

为验证推论,见官网:


image.png

总结1:上面包装WrappedLogin的代码目的:
为了给那个非包装的Login组件传递一个重要具有表单数据收集和验证的一系列方法的props属性对象form

高阶函数:

  1. 接收参数是函数
  2. 返回值是函数
    例如上面的create函数。
    常见的高阶函数:
    Promise()/then()
    数组很多方法:
    map()/reduce()/find()/filter()...
    还有setTimeout()/setInterval()bind()addEventLisenter()...
    好处:
    功能更加动态,更加具有扩展

高阶组件
高阶组件是参数为组件,返回值为新组件的函数


  • 接下来就是利用属性对象form收集表单数据:
  handleSubmit = e => {
    e.preventDefault(); // 阻止事件默认行为不提交表单
    const form = this.props.form; // 得到收集好的输入数据
    const username = form.getFieldValue("username");
    const password = form.getFieldValue("password");

    const values = form.getFieldsValue();
    console.log(username, password, values);
  };
---// render里面-----------
            <Item>
              {getFieldDecorator("username", {
                rules: [
                  {
                    required: true,
                    message: "请输入用户名"
                  }
                ]
              })(
                <Input
                  prefix={
                    <Icon type="user" style={{ color: "rgba(0,0,0,.25)" }} />
                  }
                  placeholder="登录名"
                />
              )}
            </Item>
            <Item>
              {getFieldDecorator("password", {
                rules: [
                  {
                    required: true,
                    message: "请输入密码"
                  }
                ]
              })(
                <Input
                  prefix={
                    <Icon type="lock" style={{ color: "rgba(0,0,0,.25)" }} />
                  }
                  type="password"
                  placeholder="密码"
                />
              )}
            </Item>


效果正确:


image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如果说,魏晋时的天才有如一颗颗星星,那么王弼就是其中最闪亮的一颗流星。说他最闪亮,因为他是魏晋玄学的主要代表人物及...
    petermeng阅读 610评论 0 2
  • 2018.11.5 星期一 江苏淮安 阴 毕业有些年头的学生聚会,大家也会记得我常说的几句话:“时光飞逝,岁月如歌...
    飞哥在线阅读 2,297评论 0 4
  • 去年今日正相欢。杯酒笑眉间。 今年只有杯中月,泪阑珊、别后无言。 心事万千,难求一面,恩怨了情缘。 秋风潇瑟柳如烟...
    mzy知行阅读 292评论 2 12
  • 永远保持一颗求知的心,不要被已知所束缚。 今天开始将自己学习scrapy的笔记记下来,以后可以反复温习,希望能坚持...
    ATangYaaaa阅读 281评论 0 0