我一直试图将内容组(图像+文本)Dismissible
作为一个单元(滑动删除/移除),但似乎无法将Widget列表作为child
参数分配给Dismissible()
对象。
- 代码:**
class _PhotosListState extends State<PhotosList> {
@override
Widget build(BuildContext context) {
return _buildBody();
}
Widget _buildBody() {
return SizedBox(
height: 485,
child: ListView.builder(
//scrollDirection: Axis.vertical,
//shrinkWrap: true,
itemCount: Photos.length,
itemBuilder: (context,i){
return Dismissible(
background: Container(
color: Colors.green,
),
key: ValueKey<Object>(Photos.items[i]),
onDismissed: (DismissDirection direction) {
setState(() {
Photos.items.removeAt(i);
});
},
child: SizedBox(
child: <Widget> [
Image.asset(Photos.items[i].image),
Text(Photos.items[i].task,
textAlign: TextAlign.center,
style: const TextStyle(color: Colors.grey, fontWeight: FontWeight.bold, fontSize: 19.5)
),
]
)
);
}
)
);
}
}
1条答案
按热度按时间xdyibdwo1#
在
SizedBox
的代码中:您正在传递 * 多个 * 小部件作为
child
,但是child
只接受 * 一个 * 参数(即,一个小部件)。因此,如果您想要 * 多个 * 小部件,则应该使用
Column
小部件-它可以接受List:因此,名称-
child
vschildren
-最好记住这一点,因为可能有小部件接受多个小部件,即children
或一个小部件只能接受 * 一个 *child
。