【发布时间】:2020-05-26 18:38:07
【问题描述】:
我是 Flutter 的新手,经过 2 个教程后,我正在尝试制作自己的应用程序。作为所有优秀的程序员,我不想重复代码。所以我有一部分要在 5 个屏幕中重复,我想在某个地方保存一个常量。通常,它适用于多种小部件,但我没有在 CustomScrollView 中使用 slivers 实现相同的结果。我用这个 sliver 的测试示例(文本列表)替换了实际内容,这会导致相同的错误,因此它将焦点保持在错误而不是内容中。
这是我保存的文件,目的是让这个 sliver 保持不变。
import 'package:flutter/material.dart';
const testSliverList = SliverList(
delegate: SliverChildListDelegate([
ListTile(
title: Text("test3"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
ListTile(
title: Text("test4"),
),
]),
);
这是错误:
Compiler message:
lib/shared/app_bar.dart:4:13: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
delegate: SliverChildListDelegate([
^^^^^^^^^^^^^^^^^^^^^^^
ps:它只是在单独的文件中时引发该错误。
提前致谢。
【问题讨论】:
标签: flutter