美文网首页
antd3.x中的form

antd3.x中的form

作者: 422ccfa02512 | 来源:发表于2020-06-06 00:00 被阅读0次

最近在维护公司的中台erp系统,项目中js库用的是react,ui库用的是antd。平时还是喜欢自己写css,刚开始还是有点不太习惯直接上ui库做项目,觉得用antd还是挺恶心的,主要是form。在熟悉了以后发现这个库真棒。

react缺少类似vue的v-model这样的双向绑定机制, 所以在做表单的时候需要手动监听keyup,input,blur这一类的事件,会显得稍微麻烦一些。而antd中的form则出了一个类似v-model的类似方法。它不仅仅提供了双向绑定功能,而且它还具有校验,取值,赋值,重置,数据搜集,提交功能。antd官网

双向绑定:getFieldDecorator

用法:该方法用在表单的子域里面,通过this.props.form.getFieldDecorator(id, options)进行使用,其中id为输入控件的唯一标志,而options为一些基本的数据规则配置等等,详情查看

常见用法
 <Form.Item label="Note">
   {getFieldDecorator('username', {
       rules: [{ required: true, message: 'Please input your note!' }],
   })(<Input />)}
</Form.Item>

虽然有双向绑定,但是在某些时候,也会用到设置值与获取值的方法,则会使用到setFieldsValue,getFieldsValue,getFieldValue。注意:要使用这些api,一定要把对应的 field 用 getFieldDecorator 进行注册。

设置值:setFieldsValue

通过setFieldsValue对其他控件进行赋值。

常见用法
this.props.form.setFieldsValue({
      username: 'kyle',
});

取值: getFieldsValue,getFieldValue

通过getFieldsValue对一组数据进行取值,getFieldValue对单个数据进行取值。

用法

获取全部数据

this.props.getFieldsValue()

获取filed为username的数据

this.props.getFieldValue('username')

校验:validateFields

校验方法会校验在双向绑定getFieldDecorator中定义必填项required为true的所有字段

form.validateFields((err,value) => {
        if(!err){
            return;  // 这里是通过校验的执行,未通过的则会在对应表单进行提示
        }
    }
)

重置表单:resetFields

this.props.form.resetFields()

提交数据

这个类似于,通过使用form的onSubmit事件,在提交的button上进行

用法如下
<Form labelCol={{ span: 5 }} wrapperCol={{ span: 12 }} onSubmit={this.handleSubmit}>
    <Form.Item wrapperCol={{ span: 12, offset: 5 }}>
          <Button type="primary" htmlType="submit"> //这里定义htmlType类似于原生js定义button的type
            Submit
          </Button>
    </Form.Item>
</Form>

相关文章

  • antd3.x中的form

    最近在维护公司的中台erp系统,项目中js库用的是react,ui库用的是antd。平时还是喜欢自己写css,刚开...

  • 表单验证失败,v-if无法重置

    form标签中的:model="form",只会验证form中的属性 v-if的item无法resetField,...

  • js常用小技巧

    1、form表单中的数据修改: var param = $("#form").serializeArray(); ...

  • 移动设备的常见html5表单元素

    form属性 注:html5中,在form外的input,如果其form属性与form表单的id相同,则其inpu...

  • 关于vue v-decorator

    ant-desigin-vue中form表单的使用 form表单的使用 form表单之获取表单的数据 创建表单 通...

  • 委托与事件

    两个窗体form1和form2点击form1按钮跳转到form2点击form2按钮,form1中按钮文字变化 fo...

  • Form表单

    form元素中的子元素都可以通过form属性来得到form元素。比如input.form 一些表单元素可以有req...

  • 增强的表单Form功能

    所有元素必须放到表单form中或者指定form属性 新增属性 表单内部,可省略form属性 formaction属...

  • Flask 图片上传

    upload.html (上传) 在form的标签中写入enctype=multipart/form-data ...

  • antd在form中使用上传组件

    将form表单中的enctype设置为multipart/form-dataenctype是encodetype规...

网友评论

      本文标题:antd3.x中的form

      本文链接:https://www.haomeiwen.com/subject/faxwzhtx.html