颤动肘并使用多个列表视图小部件文本项传递多个值

问题描述

我成功地让我的测试应用程序计算百吉饼总数 (13),单个百吉饼的总数不是面包师打 (13) 计数,这增加了面包师打 +1 并将单打重置为零。对于这种百吉饼口味,我还有一份正在运行的百吉饼订单。

现在我需要在我的 15 种百吉饼口味列表视图中使用最佳实践指针。我在另一个测试应用程序中工作。但现在我需要构建可运行的应用程序并坚持将这两个函数合并到我的 cubit 代码中。

  1. 我如何在我的列表视图中跟踪 15 个口味项目,每个项目都能够增加和减少订单数量并仅显示数量的总和。我是否为每个列表视图项目百吉饼风味分配一个变量,并且必须通过 cubit 传递它?或者是否有Flutter为每个列表视图项生成哈希或键代码我可以参考通过cubit传递进行显示我有一个列表视图,显示 15 种百吉饼口味和每个项目的增量/减量按钮。这样就行了。

我需要能够选择每种百吉饼口味的数量,所以 普通 5 一切 9 罂粟籽 4

面包师打在总屏幕上会显示 面包师 1 单打 5 总百吉饼 18

下面的代码只是对同一项目列出两次的递增和递减的演示。

谢谢

 import 'package:Flutter/material.dart';
import 'package:Flutter_bloc/Flutter_bloc.dart';
import 'package:state_management_example/bloc/cubit/counter/counter_cubit.dart';
import 'package:state_management_example/bloc/cubit/counter/counter_state.dart';

class CounterCubitPage extends StatelessWidget {
  static const String routeName = '/counter_cubit';

  @override
  Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: const Text('Counter Cubit Bloc')),body: BlocBuilder<CounterCubit,CounterCubitState>(
          builder: (context,state) => Column(
            mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.stretch,children: [
              Text('Bakers Dozen: ${state.dozcount}',style: Theme.of(context).textTheme.headline3,textAlign: TextAlign.center,),Text('Singles: ${state.singcount}',const SizedBox(height: 8),Text(
                'Total Bagels: ${state.totalbagels}',style: Theme.of(context).textTheme.headline3.copyWith(
                      color: Colors.black,// add second windows of bagels
              Divider(
                height: 20,thickness: 10,color: Colors.black,Text('Bakers Dozen: ${state.dozcount}',],floatingActionButton: Column(
          crossAxisAlignment: CrossAxisAlignment.end,mainAxisAlignment: MainAxisAlignment.end,children: <Widget>[
            Padding(
              padding: const EdgeInsets.symmetric(vertical: 5.0),child: FloatingActionButton(
                backgroundColor: Colors.orange,heroTag: 'increment',child: const Icon(Icons.add),onpressed: () => context.read<CounterCubit>().increment(),Padding(
              padding: const EdgeInsets.symmetric(vertical: 5.0),child: FloatingActionButton(
                backgroundColor: Colors.teal,heroTag: 'decrement',child: const Icon(Icons.remove),onpressed: () {
                  // BlocProvider.of<CounterCubit>(context,listen: false)
                  //     .decrement();
                  context.read<CounterCubit>().decrement();
                },);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)