<Widget>在Flutter代码中是什么意思?
What does <Widget> means in Flutter code?
刚接触Flutter,正在看书学习。我书中的代码是这样说的:
Column(
children: <Widget>[
// Other codes
]
)
但是当我删除 <Widget>
部分时,它也能正常工作。这个 <Widget>
是做什么的,当我删除那部分时没问题?
该列包含 <Widget>
类型的元素,它类似于编程语言中的类型。
这意味着您将在该列中显示小部件集。
Widget 是 Flutter 应用程序的底层构建块。
您可以从该列中删除任何小部件,因为它只会呈现 UI 元素。
语法指定 []
包含 Widget.
类型的对象
您可以使用类似语法定义任何类型的任何列表。
例如:
List<int> i = <int>[1,2,3];
或:
List<MyClass> myClasses = <MyClass>[];
只要您只在数组中包含 Widget
s,就可以在没有 <Widget>
语法的情况下使用。如果您尝试包含任何不是 Widget
.
的内容,您将收到错误消息
所以这会出错:
return Column(children: [Text("Hello World!"), 24, "Broken Code")]);
因为 int
和 String
的类型是不允许的。
这会起作用:
return Column(children: [Text("Hello, World!")]);
之所以有效,是因为列表中唯一的项目是类型 Widget
。
刚接触Flutter,正在看书学习。我书中的代码是这样说的:
Column(
children: <Widget>[
// Other codes
]
)
但是当我删除 <Widget>
部分时,它也能正常工作。这个 <Widget>
是做什么的,当我删除那部分时没问题?
该列包含 <Widget>
类型的元素,它类似于编程语言中的类型。
这意味着您将在该列中显示小部件集。 Widget 是 Flutter 应用程序的底层构建块。
您可以从该列中删除任何小部件,因为它只会呈现 UI 元素。
语法指定 []
包含 Widget.
您可以使用类似语法定义任何类型的任何列表。
例如:
List<int> i = <int>[1,2,3];
或:
List<MyClass> myClasses = <MyClass>[];
只要您只在数组中包含 Widget
s,就可以在没有 <Widget>
语法的情况下使用。如果您尝试包含任何不是 Widget
.
所以这会出错:
return Column(children: [Text("Hello World!"), 24, "Broken Code")]);
因为 int
和 String
的类型是不允许的。
这会起作用:
return Column(children: [Text("Hello, World!")]);
之所以有效,是因为列表中唯一的项目是类型 Widget
。