ant.design时间组件报错问题

因为这个时间组件其实要求输入的是moment数据类型所以如果出现了这个报错要将数据类型给转换一下,

先引入moment。(使用git指令

npm install moment

关键在于使用moment将你要传入的数据给转换一下。

let moment_data= moment(日期变量, 'YYYY-MM-DD')
//moment_data就是moment数据

如果要将moment数据转为字符串的话:

let   str=moment数据.format('YYYY-MM-DD');
//str就是转后的字符串

下面是一个示例:

import React from 'react';
import { Form, Input, DatePicker, Button } from 'antd';
import moment from 'moment';

const { RangePicker } = DatePicker;

const DateFormExample = () => {
  const [form] = Form.useForm();

  // 初始表单数据
  const initialValues = {
    username: 'John Doe',
    date: moment('2024-07-03', 'YYYY-MM-DD'),
    range: [moment('2024-07-01', 'YYYY-MM-DD'), moment('2024-07-31', 'YYYY-MM-DD')],
  };

  const onFinish = (values) => {
    // 将 moment 对象转换为字符串
    const formattedValues = {
      ...values,
      date: values.date ? values.date.format('YYYY-MM-DD') : null,
      range: values.range ? values.range.map(date => date.format('YYYY-MM-DD')) : null,
    };

    console.log('表单数据:', formattedValues);
  };

  return (
    <Form form={form} initialValues={initialValues} onFinish={onFinish}>
      <Form.Item
        label="用户名"
        name="username"
        rules={[{ required: true, message: '请输入用户名' }]}
      >
        <Input />
      </Form.Item>
      <Form.Item
        label="日期"
        name="date"
        rules={[{ required: true, message: '请选择日期' }]}
      >
        <DatePicker />
      </Form.Item>
      <Form.Item
        label="日期范围"
        name="range"
        rules={[{ required: true, message: '请选择日期范围' }]}
      >
        <RangePicker />
      </Form.Item>
      <Form.Item>
        <Button type="primary" htmlType="submit">
          提交
        </Button>
      </Form.Item>
    </Form>
  );
};

export default DateFormExample;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值