Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[email protected]中 Calendar 内渲染 datepicker 后无法切换月份年份 #38731

Closed
udbbbn opened this issue Nov 19, 2022 · 7 comments · May be fixed by react-component/picker#535
Closed
Labels
🐛 Bug Ant Design Team had proved that this is a bug. help wanted The suggestion or request has been accepted, we need you to help us by sending a pull request. Inactive 👷🏻‍♂️ Someone working on it

Comments

@udbbbn
Copy link

udbbbn commented Nov 19, 2022

Reproduction link

Edit on CodeSandbox

Steps to reproduce

  1. DatePicker 选择任意一个日期
  2. 再次点击 DatePicker 顶部切换年份月份 切换失败

What is expected?

能正确切换月份

What is actually happening?

组件重复渲染导致切换失败。
似乎是Calendar组件重复渲染, 即使是给了 Key 也不解决问题。

Environment Info
antd 4.18.1
React 17.0.1
System win10家庭版 21H2
Browser Chrome 版本 107.0.5304.107(正式版本) (64 位)
@afc163
Copy link
Member

afc163 commented Nov 19, 2022

感觉和 Calendar 的 Context 冲突了。

@afc163 afc163 added 🐛 Bug Ant Design Team had proved that this is a bug. help wanted The suggestion or request has been accepted, we need you to help us by sending a pull request. labels Nov 19, 2022
@github-actions
Copy link
Contributor

Hello @udbbbn. 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!

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

giphy

@edc-hui
Copy link
Contributor

edc-hui commented Nov 22, 2022

我来修复此问题

@edc-hui
Copy link
Contributor

edc-hui commented Nov 29, 2022

@afc163 @yoyo837 可以帮忙看下这个PR github ci 未通过是什么原因么?

@edc-hui
Copy link
Contributor

edc-hui commented Nov 29, 2022

@zombieJ
Copy link
Member

zombieJ commented Jan 20, 2023

根据 @edc-huiPR 又看了一下。这个传入 obj 重置内部状态是符合预期的,你这边每次传入一个新的 moment 对象,都会被认为是需要受控改变这个值。如果没有变化可以 memo or 直接用返回的值即可:
https://codesandbox.io/s/antd-4-18-1-calendar-nei-qian-datepicker-chong-fu-xuan-ran-forked-71tj3k?file=/demo.tsx

@zombieJ zombieJ closed this as completed Jan 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 Bug Ant Design Team had proved that this is a bug. help wanted The suggestion or request has been accepted, we need you to help us by sending a pull request. Inactive 👷🏻‍♂️ Someone working on it
Projects
None yet
5 participants