如何在颤振中将容器小部件及其属性添加为常量

时间:2021-04-08 13:10:56

标签: flutter dart

我只想将一个容器及其属性作为一个常量,并在需要时使用它。但是将其初始化为常量/最终/变量会返回错误。有没有办法这样做?这是我的意思:

const kContainerDefault = Container(
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(10),
  ),
  margin: EdgeInsets.only(
    left: kDefaultPadding / 2,
    top: kDefaultPadding / 4,
    bottom: kDefaultPadding / 4,
    right: kDefaultPadding / 2,
  ),
);

2 个答案:

答案 0 :(得分:0)

你应该使用 final 而不是 const

DECLARE columnDatatypes ARRAY<<STRING, STRING>>;
DECLARE columnDatatypes ARRAY<<STRING>, <STRING>>;

答案 1 :(得分:0)

您不能将 const 变成 Container,因为 Container 的构造函数不是 const,这就是它不允许您这样做的原因。

来自框架代码:

enter image description here

所以,有两种方法可以做到:

  1. 使用var关键字

  2. 使用final关键字

final kDefaultContainer = Container(
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(10),
  ),
  margin: EdgeInsets.only(
    left: kDefaultPadding / 2,
    top: kDefaultPadding / 4,
    bottom: kDefaultPadding / 4,
    right: kDefaultPadding / 2,
  ),
);