Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何以常量保存切片?_Flutter - Fatal编程技术网

Flutter 如何以常量保存切片?

Flutter 如何以常量保存切片?,flutter,Flutter,我是《颤栗》的新手,经过两次教程之后,我正在尝试制作自己的应用程序。作为所有优秀的程序员,我不想重复代码。所以我有一个部分,我在5个屏幕中重复,我想把它保存在一个常量中。通常,它可以处理多种小部件,但在CustomScrollView中,我并没有实现相同的结果。我将实际内容替换为这个测试示例的小片段(文本的小片段列表),这会导致相同的错误,因此它将焦点保持在错误中,而不是内容中 这是我保存的文件,目的是使这个银常量 import 'package:flutter/material.dart';

我是《颤栗》的新手,经过两次教程之后,我正在尝试制作自己的应用程序。作为所有优秀的程序员,我不想重复代码。所以我有一个部分,我在5个屏幕中重复,我想把它保存在一个常量中。通常,它可以处理多种小部件,但在CustomScrollView中,我并没有实现相同的结果。我将实际内容替换为这个测试示例的小片段(文本的小片段列表),这会导致相同的错误,因此它将焦点保持在错误中,而不是内容中

这是我保存的文件,目的是使这个银常量

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"),
    ),
  ]),
);

非常感谢你!非常感谢你!