Open inkCrazy opened 1 month ago
Same issue: https://github.com/facebook/react-native/issues/41801
暂未得到官方解决,关注后续
直接用官方的没问题。
Hi there, I experienced the same issue. The problem resolves down to line:
Keyboard.dismiss()
in components/input/Input.tsx#L59
React.useEffect(() => {
const keyboardHide = Keyboard.addListener('keyboardDidHide', () => {
Keyboard.dismiss()
})
return () => {
keyboardHide.remove()
if (timer.current) {
clearTimeout(timer.current)
}
}
}, [])
In which the Input dismisses Keyboard to lose focus, if the keyboard was somehow closed, normal in mobile devices but problematic in IOS Simulator if you were to use hardware keyboard instead of soft keyboard. (can switch between them via CMD+SHIFT+K)
I really wanted to use hardware keyboard in my development environment so what I did is to copy the whole file,
create a patched module in which I added import { isDevice } from 'expo-device';
and updated Keyboard.dismiss()
to if(isDevice)Keyboard.dismiss();
Now, I can happily use it from my simulator with hardware keyboard.
Note that my guess is that such an issue might also rise when opening an app in iPad with a hardware keyboard connected.
It'd be great if antd team can plan a better alternative for such cases.
PS:
@1uokun I also occasionally experience the other issue you shared but it was resolved by clearing the metro cache.
💬 前提强调
🙋 描述详情/重现步骤
🔴 版本
v20.6.1
💻 运行环境
iOS
⚫️
npx react-native info
输出信息System: OS: macOS 14.5 CPU: (10) arm64 Apple M2 Pro Memory: 90.84 MB / 16.00 GB Shell: version: "5.9" path: /bin/zsh Binaries: Node: version: 20.6.1 path: /var/folders/kb/p5p48sk13csbptrctf07nlt00000gn/T/yarn--1725698183885-0.8496351423363109/node Yarn: version: 1.22.22 path: ~/Documents/Daling072/node_modules/.bin/yarn npm: version: 9.8.1 path: /opt/homebrew/bin/npm Watchman: version: 2024.01.22.00 path: /opt/homebrew/bin/watchman Managers: CocoaPods: version: 1.13.0 path: /Users/inkcrazy/.rvm/gems/ruby-3.0.0/bin/pod SDKs: iOS SDK: Platforms:
补充说明
Xcode版本:Version 15.4 (15F31d), iOS模拟器版本:iOS 17.5 (21F79)
Xcode log: -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID. inputModality = Keyboard, inputOperation =, customInfoType = UIEmojiSearchOperations