Flutter 如何以常量保存切片?
我是《颤栗》的新手,经过两次教程之后,我正在尝试制作自己的应用程序。作为所有优秀的程序员,我不想重复代码。所以我有一个部分,我在5个屏幕中重复,我想把它保存在一个常量中。通常,它可以处理多种小部件,但在CustomScrollView中,我并没有实现相同的结果。我将实际内容替换为这个测试示例的小片段(文本的小片段列表),这会导致相同的错误,因此它将焦点保持在错误中,而不是内容中 这是我保存的文件,目的是使这个银常量Flutter 如何以常量保存切片?,flutter,Flutter,我是《颤栗》的新手,经过两次教程之后,我正在尝试制作自己的应用程序。作为所有优秀的程序员,我不想重复代码。所以我有一个部分,我在5个屏幕中重复,我想把它保存在一个常量中。通常,它可以处理多种小部件,但在CustomScrollView中,我并没有实现相同的结果。我将实际内容替换为这个测试示例的小片段(文本的小片段列表),这会导致相同的错误,因此它将焦点保持在错误中,而不是内容中 这是我保存的文件,目的是使这个银常量 import 'package:flutter/material.dart';
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:当它在一个单独的文件中时,它只会引发这个错误
提前感谢。使用
SliverChildListDelegate。修复了而不仅仅是SliverChildListDelegate
SliverChildListDelegate
不是const
构造函数,因此不能放入const
中
有关更多参考,请参阅
代码中的示例:
const testSliverList = SliverList(
delegate: SliverChildListDelegate.fixed([
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"),
),
]),
);
使用SliverChildListDelegate.fixed
而不仅仅是SliverChildListDelegate
SliverChildListDelegate
不是const
构造函数,因此不能放入const
中
有关更多参考,请参阅
代码中的示例:
const testSliverList = SliverList(
delegate: SliverChildListDelegate.fixed([
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"),
),
]),
);
非常感谢你!非常感谢你!