ant-design RangePicker组件在onCalendarChange方法中调用form.setFieldsValue会导致时间不可选择

kkih6yb8  于 3个月前  发布在  其他
关注(0)|答案(7)|浏览(52)

[

Steps to reproduce

  1. 正常选择开始结束时间,点确定
    2.重新打开时间选择,选择时间,发现不可以选择。选择什么时间都会跳回之前的选择时间

What is expected?

RangePicker 可以正常选择

What is actually happening?

RangePicker 不可以选择
| Environment | Info |
| ------------ | ------------ |
| antd | 5.18.2 |
| React | 18 |
| System | macos |
| Browser | Edge |

在5.13.2及之前的版本可以正常使用。应该是5.14.0重构之后出现的问题。
form.setFieldValue 这个方法可以正常使用。

之前已经被标记为 bug,issue 被误删了,重新提一个。

uidvcgyl

uidvcgyl2#

@MadCcc 能重新分配一个人吗?😂

btxsgosb

btxsgosb3#

@FlyAboveGrass 看了你那个例子,不明白为什么要用 name: '任意字符',,换成 RangePicker: dates, 是没问题的
const onCalendarChange = (dates, dateStrings, info) => {
form.setFieldsValue({
RangePicker: dates,
});
};

fzsnzjdm

fzsnzjdm4#

@FlyAboveGrass 看了你那个例子,不明白为什么要用 name: '任意字符',,换成 RangePicker: dates, 是没问题的 const onCalendarChange = (dates, dateStrings, info) => { form.setFieldsValue({ RangePicker: dates, }); };

可能我的例子存在一些误解。我更新了例子的内容。
setFieldsValue 的时候是可以只对表单的某个字段(比如叫 A)进行赋值的,我在 RangePicker 变化的时候希望动态更改 A 的值,但是我并不需要主动对 RangePicker 的表单字段进行更改(因为它已经被 form 劫持,本就应该根据我的选择而变化)。

现在的问题是,我调用了 setFieldsValue 会影响到 RangePicker 的自动变化

btqmn9zl

btqmn9zl5#

@FlyAboveGrass 看了你那个例子,不明白为什么要用 name: '任意字符',,换成 RangePicker: dates, 是没问题的 const onCalendarChange = (dates, dateStrings, info) => { form.setFieldsValue({ RangePicker: dates, }); };

可能我的例子存在一些误解。我更新了例子的内容。
setFieldsValue 的时候是可以只对表单的某个字段(比如叫 A)进行赋值的,我在 RangePicker 变化的时候希望动态更改 A 的值,但是我并不需要主动对 RangePicker 的表单字段进行更改(因为它已经被 form 劫持,本就应该根据我的选择而变化)。

现在的问题是,我调用了 setFieldsValue 会影响到 RangePicker 的自动变化
get

shyt4zoc

shyt4zoc6#

确实有问题,可以来帮忙排查一下

mrwjdhj3

mrwjdhj37#

Hello @FlyAboveGrass. We totally like your proposal/feedback, welcome to send us a Pull Request for it. Please send your Pull Request to proper branch (feature branch for the new feature, master for bugfix and other changes), fill the Pull Request Template here, provide changelog/TypeScript/documentation/test cases if needed and make sure CI passed, we will review it soon. We appreciate your effort in advance and looking forward to your contribution!

你好 @FlyAboveGrass,我们完全同意你的提议/反馈,欢迎直接在此仓库 创建一个 Pull Request 来解决这个问题。请将 Pull Request 发到正确的分支(新特性发到 feature 分支,其他发到 master 分支),务必填写 Pull Request 内的 预设模板 ,提供改动所需相应的 changelog、TypeScript 定义、测试用例、文档等,并确保 CI 通过,我们会尽快进行 Review,提前感谢和期待您的贡献。

相关问题