umijs / umi

A framework in react community ✨
https://umijs.org
MIT License
15.43k stars 2.66k forks source link

antd input 受控模式下在umi的 models存input的value和change时中文输入不了 #9544

Closed QDyanbing closed 2 years ago

QDyanbing commented 2 years ago

Reproduction link

https://github.com/QDyanbing/antd-input

Steps to reproduce

在输入框中输入 "测试"

What is expected?

可以输入中文

What is actually happening?

不能输入中文

Environment Info
antd 4.23.6
React ^18.0.0
System mac
Browser 106.0.5249.119(正式版本) (arm64)
QDyanbing commented 2 years ago
image
sorrycc commented 2 years ago

和 umi 也无关,把 useModel 替换成 useState 一样有问题。建议 google 下「input 受控 输入中文」。

参考: https://www.tangshuang.net/7840.html https://github.com/suhaotian/react-input

QDyanbing commented 2 years ago

我换成useState是没问题的,可以正常输入中文;按照上面的方案确实可以修复在useModel中的使用;反馈到antd那边得到如下回馈https://github.com/ant-design/ant-design/issues/38081

zhupp034 commented 1 year ago

遇到同样的问题,react18版本的问题,换成17就没问题了。但是普通useState在17和18都没有问题,还是useModel的plugin有问题的

YanSheng1127 commented 1 year ago

和 umi 也无关,把 useModel 替换成 useState 一样有问题。建议 google 下「input 受控 输入中文」。

参考: https://www.tangshuang.net/7840.html https://github.com/suhaotian/react-input

建议你试一下

54huanan commented 11 months ago

遇到同样的问题,react18版本的问题,换成17就没问题了。但是普通useState在17和18都没有问题,还是useModel的plugin有问题的

原来用useState的写法能正常工作,换成useModel就不能输入中文了。 问下怎么降到React17的? Umi4的很多插件都使用18了。

fz6m commented 11 months ago

不推荐继续使用 useModel 、useRequest 、dva 等 umi 3 原保留的数据方案,这些是为了升级而保留的上古遗留,现代数据流更推荐使用 jotai / valtio 管理全局状态,使用 react-query / swr 管理请求状态。