【发布时间】:2021-08-25 09:50:52
【问题描述】:
我正在创建一个包含 TaskList 和 Task Tiles 的待办事项应用程序,通过创建任务列表的复选框并使用回调函数,我得到了 3 种类型的错误。
- RenderBox 未布置 2) 断言失败:第 1930 行 pos 12: 'hasSize' 3) 空值检查运算符用于空值
TaskList 类代码:
import 'package:flutter/material.dart';
import 'package:todoey_flutter/widgets/TaskTile.dart';
class TaskList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
TaskTile(),
TaskTile(),
],
);
}
}
包含复选框和回调的TaskTile代码:
import 'package:flutter/material.dart';
class TaskTile extends StatefulWidget {
@override
_TaskTileState createState() => _TaskTileState();
}
class _TaskTileState extends State<TaskTile> {
bool isChecked= false;
@override
Widget build(BuildContext context) {
return ListTile(
title: Text(
'This is my task.',
style: TextStyle(
decoration: isChecked ? TextDecoration.lineThrough : null,
),),
trailing: TaskCheckBox(isChecked, (bool checkboxState) {
setState(() {
isChecked = checkboxState;
});
},
),
);
}
}
class TaskCheckBox extends StatelessWidget {
TaskCheckBox (this.checkboxState, this.toggleCheckBoxState);
final bool checkboxState;
final Function toggleCheckBoxState;
@override
Widget build(BuildContext context) {
return Checkbox(
activeColor: Colors.blueAccent,
value: checkboxState,
onChanged: toggleCheckBoxState(),
);
}
}
【问题讨论】:
-
fixe 1-> onChanged: ()=>toggleCheckBoxState(),
-
请检查答案我希望它对你有用
-
它对我不起作用
标签: flutter dart checkbox render