我一直在调试代码,以了解flutter如何通过小部件跟踪动态生成的行。看起来它为百吉饼的json构建列表中的每个小部件行分配了一个随机哈希码#ob253:
调试行
_CounterWidgetState(_CounterWidgetState#0b253)
该行中的是var _totalbagels。我也可以在调试器中看到该计数,就像我的+或-计数一样。
。 enter image description here
是否在某个地方建立了一个getter调用,因此我可以通过建立使用的哈希码和大于0 _totalbagels个项目的索引来访问项目的每一行列表?我相信这很容易,这里只需要一个起点帮助即可。
我确实跟踪增加和减少,但是需要将所有非零行传递到购物车并按订购的百吉饼类型显示总计。
class _CounterWidgetState extends State<CounterWidget> with AutomaticKeepAliveClientMixin{
//added mixin to allow scroll keep item count
int _ecounter = 0;
int _bakerdoz = 0;
int _totalbagels = 0;
@override
bool get wantKeepAlive => true; //needed for above mix in to work
void _incrementCounter() {
setState(() {
//track increment ~/ finds just total bager doz of 13
// % check total for multiple of 13 and return single
// non bakers doz totals back
// TB = 16 BDz = 1 and Bagels = 3 for example...
_totalbagels++;
_bakerdoz = (_totalbagels ~/ 13);
_ecounter = (_totalbagels % 13);
});
}
void _decrementCounter() {
setState(() {
if (_totalbagels == 0) {
// check if zero do not go into -1
} else {
_totalbagels--;
_bakerdoz = (_totalbagels ~/ 13);
_ecounter = (_totalbagels % 13);
}
});
}
谢谢..