fix: Modify format conditions
🤔 这个变动的性质是?
- [ ] 新特性提交
- [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 已提供或无须提供
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) |
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
来个测试用例?这个直接删了逻辑总感觉有点怪
来个测试用例?这个直接删了逻辑总感觉有点怪
目前项目中的用例都是通过的。 根据代码分析,能够触发判断条件,也就是包含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