flutter - 如何调试这个 Flutter App Assertion 失败?
问题描述
在开发复杂的 Flutter Web App 时,突然遇到断言错误,不知道根本原因在哪里。任何人都可以解释此异常消息吗?我注意到“hasSize”属性问题,但颤振检查器显示任何小部件都没有问题。谢谢!
PS:我不使用 FocusNode ......但我假设它是某些小部件的一部分。
======== Exception caught by foundation library ====================================================
The following assertion was thrown while dispatching notifications for FocusNode:
Assertion failed: file:///C:/dev/flutter/packages/flutter/lib/src/rendering/box.dart:1929:12
hasSize
"RenderBox was not laid out: RenderEditable#98684 NEEDS-LAYOUT NEEDS-PAINT"
When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49 throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3 assertFailed
packages/flutter/src/rendering/box.dart 1929:12 get size
packages/flutter/src/widgets/editable_text.dart 2466:40 [_updateSizeAndTransform]
packages/flutter/src/widgets/editable_text.dart 2076:7 [_openInputConnection]
packages/flutter/src/widgets/editable_text.dart 2110:7 [_openOrCloseInputConnectionIfNeeded]
packages/flutter/src/widgets/editable_text.dart 2441:5 [_handleFocusChanged]
packages/flutter/src/foundation/change_notifier.dart 308:24 notifyListeners
packages/flutter/src/widgets/focus_manager.dart 1145:5 [_notify]
packages/flutter/src/widgets/focus_manager.dart 1882:11 [_applyFocusChange]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 166:15 <fn>
The FocusNode sending notification was: FocusNode#6f6e5([PRIMARY FOCUS])
context: EditableText-[LabeledGlobalKey<EditableTextState>#0bc2b]
PRIMARY FOCUS
===================================================================================================='''
解决方案
推荐阅读
- python - 我如何同时运行这些?
- android - 更改 compileskdversion 时出错 (System.IO.DirectoryNotFoundException)
- reactjs - 如何在 React 中编写缺少的开发脚本?
- swift - 如何编写一个关闭视图并返回视图的函数?
- python - 数字作为python中cnf变换的符号
- blockchain - 当合约调用者已知时使用 keccak256 的 Solidity 随机数安全性
- javascript - 如何有条件地更改背景颜色?
- javascript - MongoDB 和 Heroku 部署
- c++ - 访问 DLL 中的函数时出现调试断言失败错误
- youtube-dl - youtube-dl 在文件夹加载时冻结(?)