ant-design / pro-components

🏆 Use Ant Design like a Pro!
https://pro-components.antdigital.dev
MIT License
4.3k stars 1.36k forks source link

🐛[BUG] ProFormDateTimePicker的属性fieldProps中配置了format不起作用 #7911

Closed semmywong closed 11 months ago

semmywong commented 11 months ago

🐛 bug 描述

ProFormDateTimePicker的属性fieldProps中配置了format不起作用,必须再transform里再次转换才可以,如图

📷 复现步骤

🏞 期望结果

期望fieldProps中format可以起作用,直接输出format格式的字符串

💻 复现代码

 <ProFormDateTimePicker
          name="toDate"
          label="日期"
          fieldProps={{ showTime: false, picker: 'date', mode: 'date', format: 'YYYY-MM-DD' }}
          transform={(value) => {
            debugger;
            return {
              toDate: value.format('YYYY-MM-DD'),
            };
          }}
        />

© 版本信息

🚑 其他信息

image

fnoopv commented 11 months ago

用ProForm的dateFormatter

chenshuai2144 commented 11 months ago

format 只管展示 的,传给form的还是dayjs,如果要转化要用 ProForm 或者 transform

semmywong commented 11 months ago

format 只管展示 的,传给form的还是dayjs,如果要转化要用 ProForm 或者 transform

我发现,我本地开发环境,form收到的dayjs的对象,但是发布生产环境,form收到 的又是格式化后的字符串。导致我现在得在transform中判断接收到的参数value是字符串直接返回,否则进行format处理。 image

Emmeet commented 10 months ago

我遇到同样的问题,线上和别人那里都好用,只有我本地的项目不好使,请问你解决了吗?

fnoopv commented 10 months ago

我碰到过, 建议检查安装的 dayjs 版本和 antd 用的版本是否一致, 通常是 dayjs 版本不一致导致的