我目前正在按照教程开发一个待办事项应用程序,这是复选框部分
我试图将它的状态提升到树上,但是当我这样做时,无状态小部件只是不停地重建,我尝试添加key,添加const将其转换为有状态,但似乎没有任何作用,它也没有为我提供任何类型的错误或异常消息
注意:当我将onChecked设置为null时,statelessWidget 会运行两次,而它应该只构建一次。
下面是代码:
导入“包:flutter/material.dart”;
类 TaskTile 扩展 StatefulWidget {
@覆盖
_TaskTileState createState() => _TaskTileState();
}
类 _TaskTileState 扩展状态 {
布尔 isChecked = false;
@覆盖
小部件构建(BuildContext上下文){
返回列表图块(
标题:文字(
“完整的托多伊”,
样式:文本样式(
装饰: isChecked == true
?TextDecoration.lineThrough
: TextDecoration.none),
),
尾随:TaskCheckBox(
checkBoxState: 已选中,
切换复选框状态:
(布尔复选框状态){
Future.delayed(持续时间.0,
() 异步 {
设置状态((){
打印(
“==================$isChecked==============$checkBoxState============ ================================================================================================================================================================================
isChecked = checkBoxState;
});
});
}),
);
}
}
类 TaskCheckBox 扩展 StatelessWidget {
常量任务复选框(
{钥匙?钥匙,
需要 this.checkBoxState, …