Flutter 颤振-如何在自定义类小部件中更改变量
我有一个非常简单的Flutter 颤振-如何在自定义类小部件中更改变量,flutter,dart,Flutter,Dart,我有一个非常简单的Test.dart自定义类小部件,我希望能够在main.drat中更改变量color的值并对其进行更新 @override _TestState createState() => _TestState(); } class _TestState extends State<Test> { var color; @override Widget build(BuildContext context) { return Scaffol
Test.dart
自定义类小部件,我希望能够在main.drat
中更改变量color
的值并对其进行更新
@override
_TestState createState() => _TestState();
}
class _TestState extends State<Test> {
var color;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Container(
color: color,
),
),
);
}
}
@覆盖
_TestState createState();
}
类_TestState扩展状态{
颜色变异;
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:容器(
颜色:颜色,
),
),
);
}
}
您可以在小部件的构造函数中将值传递给颜色:
类测试扩展StatefulWidget{
最终颜色;
测试(该颜色);
@凌驾
_TestState createState();
}
类_TestState扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:容器(
颜色:widget.color,
),
),
);
}
}
然后您可以像这样调用这个Test
小部件:
Test(myColor);
Flatter针对重建小部件进行了优化,因此您无需单独设置颜色,只需使用新值重建小部件即可。我收到一个错误:
错误:无法在初始值设定项中访问实例成员“小部件”。
@Tuqayoh,对不起。我编辑