将对象字段称为ListTile属性

时间:2017-07-17 09:15:14

标签: dart constants flutter

我正在尝试从json文件接收一些数据,然后将这些数据映射到我的" Json"类字段。

有没有办法将我的Json类中的字段用作ListTile属性?

例如:

Json json1 = new Json();
...
const ListTile(
                ....

                title: const Text (json1.fieldOne()),
...

这样ListTile属性可以从新对象的属性中读取,而不是为它们定义常量值。

2 个答案:

答案 0 :(得分:0)

显然我做错了什么

const ListView更改为new ListView以及其中的所有属性。

答案 1 :(得分:0)

Dart中的

const值是在编译时解析的表达式。 无法在const上下文中使用new X()创建的值(如title: const Text(...)

我不太了解Flutter,但我想不使用const应该也能正常工作

new ListTile(
                ....

                title: new Text (json1.fieldOne()),

如果此代码嵌入在另一个const上下文中,您需要将const全部替换为new

出于性能原因,尽可能使用

const,但如果它不可能,就像在你的情况下因为值在编译时尚未可用,那么只是将其替换为new