我想更新作为列表传递的自定义小部件的状态。如果我在堆栈中创建一个列表,但是如果我预先创建了列表,然后将其传递到堆栈中,则它不会更新状态。
作品
child: Stack(
children: [new CustomText(mm)],
),
不起作用
static Matrix4 mm = Matrix4.identity();
List<CustomText> child = [new CustomText(mm)];
child: Stack(
children: child,
),
我在这里更新状态
onMatrixUpdate: (m, tm, sm, rm) {
setState(() {
mm = m;
print("update");
});
}
此mm传递给CustomText的构造函数
class CustomText extends StatefulWidget {
Matrix4 transform;
CustomText(this.transform);
@override
_CustomTextState createState() => _CustomTextState();
}
class _CustomTextState extends State<CustomText> {
@override
Widget build(BuildContext context) {
return Container( transform: **widget.transform** , color: Colors.red,child: Text("Hello",style:
TextStyle(fontSize: 50),), );
}
}