Flutter FluentUI NavigationView 在 web 上崩溃“预期值为‘SkDeletable’,但得到了‘Null’类型之一

时间:2021-07-28 19:59:42

标签: flutter flutter-layout flutter-web fluent-ui

在使用 NavigationView 设置 Flutter Fluent UI 应用程序 fluent_UI 2.2.1 时,应用程序在网络上崩溃

<块引用>

期望类型为 'SkDeletable' 的值,但得到类型为 'Null' 的值

问题似乎出在导航体上,但我还没有找到解决方案。 我正在使用 Flutter 在 Chrome 上运行我的代码(Channel beta,2.3.0-24.1.pre,在 Mac OS X 10.15.7 19H1217 darwin-x64,locale en-GB)

相同的代码与 MacOS-Desktop 应用程序完全相同。

错误:

══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
The following TypeErrorImpl was thrown during paint():
Expected a value of type 'SkDeletable', but got one of type 'Null'

The relevant error-causing widget was:
  DecoratedBox
  file:///Users/Passi/development/flutter/.pub-cache/hosted/pub.dartlang.org/fluent_ui-2.2.1/lib/src/styles
  /acrylic.dart:149:14

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 84:3        castError
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart 266:34       as
lib/_engine/engine/canvaskit/skia_object_cache.dart 227:55                        new
lib/_engine/engine/canvaskit/mask_filter.dart 10:3                                blur
lib/_engine/engine/canvaskit/painting.dart 141:36                                 set maskFilter
packages/flutter/src/painting/box_shadow.dart 54:9                                <fn>
packages/flutter/src/painting/box_shadow.dart 54:56                               toPaint
packages/flutter/src/painting/shape_decoration.dart 337:67                        <fn>
dart-sdk/lib/internal/iterable.dart 413:31                                        elementAt
dart-sdk/lib/internal/iterable.dart 342:26                                        moveNext
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 734:20  next
dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 517:14                of
packages/flutter/src/painting/shape_decoration.dart 337:67                        [_precache]
packages/flutter/src/painting/shape_decoration.dart 387:5                         paint
packages/flutter/src/rendering/proxy_box.dart 2162:7                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/widgets/layout_builder.dart 387:14                           paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/widgets/layout_builder.dart 387:14                           paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 139:10                                 _repaintCompositedChild
packages/flutter/src/rendering/object.dart 100:5                                  repaintCompositedChild
packages/flutter/src/rendering/object.dart 204:7                                  [_compositeChild]
packages/flutter/src/rendering/object.dart 185:7                                  paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 139:10                                 _repaintCompositedChild
packages/flutter/src/rendering/object.dart 100:5                                  repaintCompositedChild
packages/flutter/src/rendering/object.dart 204:7                                  [_compositeChild]
packages/flutter/src/rendering/object.dart 185:7                                  paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/proxy_box.dart 3435:11                             paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/widgets/overlay.dart 782:14                                  paintStack
packages/flutter/src/widgets/overlay.dart 800:7                                   paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                              paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 187:12                                 paintChild
packages/flutter/src/rendering/view.dart 209:14                                   paint
packages/flutter/src/rendering/object.dart 2396:7                                 [_paintWithContext]
packages/flutter/src/rendering/object.dart 139:10                                 _repaintCompositedChild
packages/flutter/src/rendering/object.dart 100:5                                  repaintCompositedChild
packages/flutter/src/rendering/object.dart 975:29                                 flushPaint
packages/flutter/src/rendering/binding.dart 464:19                                drawFrame
packages/flutter/src/widgets/binding.dart 879:13                                  drawFrame
packages/flutter/src/rendering/binding.dart 328:5
[_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1143:15                               [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1080:9                                handleDrawFrame
packages/flutter/src/scheduler/binding.dart 996:5                                 [_handleDrawFrame]
lib/_engine/engine/platform_dispatcher.dart 964:13                                invoke
lib/_engine/engine/platform_dispatcher.dart 151:5                                 invokeOnDrawFrame
lib/_engine/engine.dart 395:45                                                    <fn>

The following RenderObject was being processed when the exception was fired: RenderDecoratedBox#d274a:
  needs compositing
  creator: DecoratedBox ← _AcrylicInheritedWidget ← Acrylic ← LayoutBuilder ← _NavigationBody ←
    NavigationView ← LayoutBuilder ← _NavigationBody ← NavigationView ← Consumer<HomeViewModel> ←
    _InheritedProviderScope<HomeViewModel> ← ChangeNotifierProvider<HomeViewModel> ← ⋯
  parentData: offset=Offset(0.0, 0.0) (can use size)
  constraints: BoxConstraints(w=1280.0, h=721.0)
  size: Size(1280.0, 721.0)
  decoration: ShapeDecoration:
    shadows:
      BoxShadow(Color(0x21000000), Offset(0.0, 0.0), 0.0, 0.0)
      BoxShadow(Color(0x1c000000), Offset(0.0, 0.0), 0.0, 0.0)
    shape: RoundedRectangleBorder(BorderSide(Color(0xff000000), 0.0, BorderStyle.none),
      BorderRadius.zero)
  configuration: ImageConfiguration(bundle: PlatformAssetBundle#1f0bd(), devicePixelRatio: 2.0,
    locale: en_US, textDirection: TextDirection.ltr, platform: macOS)
This RenderObject had the following descendants (showing up to depth 5):
    child: RenderClipPath#144a5 NEEDS-PAINT
      child: RenderBackdropFilter#c9de5 NEEDS-PAINT
        child: RenderCustomPaint#662d0 NEEDS-PAINT
          child: RenderCustomPaint#12b2c NEEDS-PAINT
            child: _RenderInkFeatures#eb4d6 NEEDS-PAINT
import 'package:roptimizerai/ui/simulation_results_screen/simulation_results_screen.dart';
import 'package:stacked/stacked.dart';
import 'package:fluent_ui/fluent_ui.dart';
import 'home_view_model.dart';

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ViewModelBuilder<HomeViewModel>.reactive(
      builder: (context, model, child) => NavigationView(
        appBar: NavigationAppBar(title: Text(model.title)),
        pane: NavigationPane(
          displayMode: PaneDisplayMode.auto,
          items: [
            PaneItem(
              icon: Icon(FluentIcons.edit_note),
              title: Text(model.paneItem1),
            ),
            PaneItem(
              icon: Icon(FluentIcons.recent),
              title: Text(model.paneItem2),
            ),
          ],
          footerItems: [
            PaneItemSeparator(),
            PaneItem(
                icon: Icon(FluentIcons.settings),
                title: Text(model.footer_paneItem1)),
          ],
          selected: model.currentIndex,
          onChanged: model.setIndex,
        ),
        content: NavigationBody(
          index: model.currentIndex,
          children: [
            const ScaffoldPage(
              header: Text(
                "Create Scenario",
                style: TextStyle(fontSize: 60),
              ),
            ),
            SimulationResultsScreen(),
            const ScaffoldPage(
              header: Text(
                "Settings",
                style: TextStyle(fontSize: 60),
              ),
            ),
          ],
        ),
      ),
      viewModelBuilder: () => HomeViewModel(),
    );
  }
}

0 个答案:

没有答案