fix: TextFormField onChanged event triggered multiple times when Korean input (#9644)

* fix: TextFormField onChanged event triggered multiple times when Korean input

* logic fix for iOS

* add comments

* move 'onChanged' logic to handleSoftKeyboardInput
This commit is contained in:
shleyZ 2024-10-16 19:25:27 +08:00 committed by GitHub
parent 09083b3afa
commit ace98d98ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -242,12 +242,16 @@ class _RemotePageState extends State<RemotePage> {
}
}
// handle mobile virtual keyboard
void handleSoftKeyboardInput(String newValue) {
async void handleSoftKeyboardInput(String newValue) {
if (isIOS) {
_handleIOSSoftKeyboardInput(newValue);
// fix: TextFormField onChanged event triggered multiple times when Korean input
// https://github.com/rustdesk/rustdesk/pull/9644
await Future.delayed(const Duration(milliseconds: 10));
if (newValue != _textController.text) return;
return _handleIOSSoftKeyboardInput(_textController.text);
} else {
_handleNonIOSSoftKeyboardInput(newValue);
return _handleNonIOSSoftKeyboardInput(newValue);
}
}