Ant Design 中 form组件的技巧

1、给组件设置初始值

正常使用时:

<Input addonAfter={<Icon type="setting" />} defaultValue="mysite" />

form表单中:

<Form.Item label={<span className="formStyle">监控设备通道号</span>}>
           {getFieldDecorator('mondevChannelNo', {
                  initialValue: 1,
                  rules: [{required: true, message: '只能输入数字且小于10位数',max:10,pattern:"^[0-9]*$"}],
               })(
                 <Input placeholder="请输入监控设备通道号"/>,
               )}
</Form.Item>
2、清空form表单中的内容
const {form} = props;
form.resetFields();
3、form表单中的时间组件DatePicker

如果直接上传到后端是下图这种格式
在这里插入图片描述
需要先转换一下格式

const values = {
	prodDate: fieldsValue['prodDate']===undefined?"":fieldsValue['prodDate'].format('YYYY-MM-dd'),
};

如果需要一个默认的时间

正常使用时

moment.fromat("YYYY-MM-dd")

form表单中

initialValue: moment(moment(),"HH:mm")
4、表单验证

使用getFieldDecorator

required:是否必须
message:input框消息
max:最大字数
pattern:正则验证

const { getFieldDecorator } = props.form;

<Form.Item label={<span className="formStyle">监控设备通道号</span>}>
		{getFieldDecorator('mondevChannelNo', {
			rules: [{required: true, message: '只能输入数字且小于10位数',max:10,pattern:"^[0-9]*$"}],
		})(
		     <Input placeholder="请输入监控设备通道号"/>,
		)}
</Form.Item>

点击确定时触发的函数

const onCreateTerminal = () => {
	props.form.validateFields((err, fieldsValue) => {
			//判断是否所有的条件都满足,否则会return出去
            if (err) {
                return;
            }
            //处理时间
            const values = {
                ...fieldsValue,
                startTime: fieldsValue['startTime']===undefined?"":fieldsValue['startTime'].format('HH:mm'),
            };
    		//调用后端接口
            const {form} = props;
            if (addOrEdit === 1) {
                const params = {...values};
                AgencyMaintainService.distributionMonitorService.addMonitor(params).then((data)=>{
	                    if (data[0].status !== "0") {
	                        message.error(data[0].message);
	                    }else {
	                        message.success(data[0].message);
	                        handleModalVisible();
	                        form.resetFields();
	                    }
                });
          }
	});
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值