F.M*_*.M. 3 flutter flutter-windows flutter-textinputfield
我正在为 Windows 构建一个 Flutter 应用程序。\n我有一个 TextField,如果我运行该应用程序并想要通过按住 Shift Left 或 Shift Right 和一个字母来插入大写字符,我会收到以下错误:
\nThe following assertion was thrown during a platform message callback: \nA KeyRepeatEvent is dispatched, but the state shows that the physical key is not pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyRepeatEvent#d843e(physicalKey: PhysicalKeyboardKey#700e1(usbHidUsage: "0x000700e1", debugName: "Shift Left"), logicalKey: LogicalKeyboardKey#00102(keyId: "0x200000102", keyLabel: "Shift Left", debugName: "Shift Left"), character: null, timeStamp: 124:45:14.849439) \n'package:flutter/src/services/hardware_keyboard.dart': \nFailed assertion: line 432 pos 16: '_pressedKeys.containsKey(event.physicalKey)'\n\nEither the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause. \nIn either case, please report this assertion by filing a bug on GitHub: \nhttps://github.com/flutter/flutter/issues/new?template=2_bug.md \n\nWhen the exception was thrown, this was the stack: \n#2 HardwareKeyboard._assertEventIsRegular.<anonymous closure> (package:flutter/src/services/hardware_keyboard.dart:432:16) \n#3 HardwareKeyboard._assertEventIsRegular (package:flutter/src/services/hardware_keyboard.dart:443:6) \n#4 HardwareKeyboard.handleKeyEvent (package:flutter/src/services/hardware_keyboard.dart:535:5) \n#5 KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:881:37) \n#6 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:197:49) \n#7 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:387:35) \n#8 _invoke2 (dart:ui/hooks.dart:186:13) \n#9 _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5) \n#10 _Channel.push (dart:ui/channel_buffers.dart:132:31) \n#11 ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17) \n#12 PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:599:22) \n#13 _dispatchPlatformMessage (dart:ui/hooks.dart:89:31) \n(elided 2 frames from class _AssertionError) \nRun Code Online (Sandbox Code Playgroud)\n通过按 Caps Lock 和字母,我不会收到此错误。 \nFlutter 似乎无法处理 Shift 和字母的组合。
\n有人知道为什么会这样吗?以及如何解决这个问题?
\n我的颤振设置:
\nFlutter 3.3.4 \xe2\x80\xa2 channel stable \xe2\x80\xa2 https://github.com/flutter/flutter.git \nFramework \xe2\x80\xa2 revision eb6d86ee27 (13 days ago) \xe2\x80\xa2 2022-10-04 22:31:45 -0700 \nEngine \xe2\x80\xa2 revision c08d7d5efc \nTools \xe2\x80\xa2 Dart 2.18.2 \xe2\x80\xa2 DevTools 2.15.0 \n\nRunning flutter doctor... \nDoctor summary (to see all details, run flutter doctor -v): \n[\xe2\x88\x9a] Flutter (Channel stable, 3.3.4, on Microsoft Windows [Version 10.0.19044.2130], locale de-DE) \n[\xe2\x88\x9a] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1) \n[\xe2\x88\x9a] Chrome - develop for the web \n[\xe2\x88\x9a] Visual Studio - develop for Windows (Visual Studio Community 2022 17.3.6) \n[\xe2\x88\x9a] Android Studio (version 2021.2) \n[\xe2\x88\x9a] VS Code (version 1.71.2) \n[\xe2\x88\x9a] Connected device (3 available) \n[\xe2\x88\x9a] HTTP Host Availability \n \n\xe2\x80\xa2 No issues found! \nRun Code Online (Sandbox Code Playgroud)\n
好的,我在其他一些论坛和 Git 问题中读到了该master频道已修复的问题。所以我从stable一个频道切换到master另一个频道,并且不再收到此错误。
为此,您必须运行:
flutter通道master
flutter升级
| 归档时间: |
|
| 查看次数: |
3271 次 |
| 最近记录: |