就像下面的示例图片一样,我想在单击单个列表项的按钮时增加或减少数量。如果我增加 setState() 中的计数器,它会在每个列表项中递增。我需要这方面的帮助,特别是在处理 Flutter 中的特定列表项时。
![示例图片][2]
任何帮助表示赞赏。
提前致谢。
已获取列表项谢谢您的帮助,
您需要做的就是以正确的方式重构您的小部件。你可以重构你的Card
s/项目放入单独的StatefulWdiget
这样每个增量/减量仅影响特定项目而不是整个列表。
检查这个例子:
![enter image description here](https://i.stack.imgur.com/nfa3I.gif)
class FlutterExample extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new ListView(
children: new List.generate(5, (i)=>new ListTileItem(
title: "Item#$i",
)),
),
);
}
}
class ListTileItem extends StatefulWidget {
String title;
ListTileItem({this.title});
@override
_ListTileItemState createState() => new _ListTileItemState();
}
class _ListTileItemState extends State<ListTileItem> {
int _itemCount = 0;
@override
Widget build(BuildContext context) {
return new ListTile(
title: new Text(widget.title),
trailing: new Row(
children: <Widget>[
_itemCount!=0? new IconButton(icon: new Icon(Icons.remove),onPressed: ()=>setState(()=>_itemCount--),):new Container(),
new Text(_itemCount.toString()),
new IconButton(icon: new Icon(Icons.add),onPressed: ()=>setState(()=>_itemCount++))
],
),
);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)