input-number icon indicating copy to clipboard operation
input-number copied to clipboard

fix: Modify format conditions

Open Song-aff opened this issue 3 years ago • 7 comments

[English Template / 英文模板]

🤔 这个变动的性质是?

  • [ ] 新特性提交
  • [x] 日常 bug 修复
  • [ ] 站点、文档改进
  • [ ] 演示代码改进
  • [ ] 组件样式/交互改进
  • [ ] TypeScript 定义更新
  • [ ] 包体积优化
  • [ ] 性能优化
  • [ ] 功能增强
  • [ ] 国际化改进
  • [ ] 重构
  • [ ] 代码风格优化
  • [ ] 测试用例
  • [ ] 分支合并
  • [ ] 其他改动(是关于什么的改动?)

🔗 相关 Issue

💡 需求背景和解决方案

antd中 https://github.com/ant-design/ant-design/issues/36074 经过定位,问题在rc-input-number组件中。 可与 https://codesandbox.io/s/lucid-varahamihira-yfwuub?file=/src/App.js 中复现(safari浏览器、中文输入法下)。

其产生原因为 safari 浏览器在中文输入法时,会改变keydown事件触发时间,对format条件进行修改可以解决该问题。

📝 更新日志

语言 更新描述
🇺🇸 英文
🇨🇳 中文

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项。⚠️

  • [X] 文档已补充或无须补充
  • [X] 代码演示已提供或无须提供
  • [X] TypeScript 定义已补充或无须补充
  • [X] Changelog 已提供或无须提供

Song-aff avatar Jun 24 '22 08:06 Song-aff

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
input-number ✅ Ready (Inspect) Visit Preview Jun 24, 2022 at 8:48AM (UTC)

vercel[bot] avatar Jun 24 '22 08:06 vercel[bot]

Codecov Report

Merging #442 (fa35c26) into master (b9577c8) will not change coverage. The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #442   +/-   ##
=======================================
  Coverage   97.82%   97.82%           
=======================================
  Files           9        9           
  Lines         460      460           
  Branches      121      121           
=======================================
  Hits          450      450           
  Misses         10       10           
Impacted Files Coverage Δ
src/InputNumber.tsx 98.45% <100.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

codecov[bot] avatar Jun 28 '22 02:06 codecov[bot]

来个测试用例?这个直接删了逻辑总感觉有点怪

MadCcc avatar Jun 28 '22 08:06 MadCcc

来个测试用例?这个直接删了逻辑总感觉有点怪

目前项目中的用例都是通过的。 根据代码分析,能够触发判断条件,也就是包含userTypingRef.current = false语句的函数有 onInternalStep ,onKeyDown中(which === KeyCode.ENTER),onKeyUp和onBlur函数。 除了导致问题发生的onKeyUp外,其余函数都可以正常执行 setInputValue 语句。 onInternalStep可以通过改变value满足useUpdateEffect中!newValue.equals(currentParsedValue)条件。 onKeyDown(which === KeyCode.ENTER)和 onBlur 通过 flushInputValue 函数执行。

并没有发现需要依赖!userTypingRef.current触发setInputValue的情况。

Song-aff avatar Jun 30 '22 08:06 Song-aff

此问题项目中遇到了,请问这个修复什么时候合并发布?

connie1120 avatar Nov 02 '23 03:11 connie1120

在项目中遇到这个问题,请问该修复何时发布?或者是否有其他兼容方式解决这个问题?😄 @Song-aff

Leonardo-zyh avatar Dec 21 '23 03:12 Leonardo-zyh