开发者社区> 问答> 正文

如何更新购物车中的项目数?

我实现了将添加到购物车的功能项成功添加到购物车的功能,但是当我重新打开应用程序时,购物车标志中的计数没有更新,而是计数更新的数量可以帮助我吗?


AppBar(
        title: Text("Home Page"),
        backgroundColor: Color.fromRGBO(37, 36, 36, 9),
        actions: <Widget>[
          Padding(
            padding: const EdgeInsets.only(right: 15, top: 10),
            child: InkWell(
              onTap: () {
                Navigator.push(context, new MaterialPageRoute<void>(
                  builder: (BuildContext context) {
                    return new Cart();
                  },
                ));
              },
              child: Badge(
                badgeContent: Text(
                  itemCount.toString(),
                  style: TextStyle(
                      fontFamily: 'Celias',
                      fontSize: 10,
                      color: Colors.white),
                ),
                badgeColor: Colors.green,
                child: Icon(
                  Icons.shopping_cart,
                  size: 30,
                ),
              ),
            ),
          ),

        ]);
void _getItemCount() async {
    counts = await db.getCartItemCount();
    setState(() {
      itemCount = counts;
    });
  }
Future<int> getCartItemCount() async {
    Database db = await this.database;
    return Sqflite.firstIntValue(await db.rawQuery("SELECT COUNT(*) FROM CART"));
  }

我正在使用badges: ^1.1.0购物车徽章的依赖项。我认为状态不会每次都更新,这就是计数未更新的原因。

展开
收起
Puppet 2020-01-14 22:43:09 398 0
1 条回答
写回答
取消 提交回答
  • 恕我直言,您可以添加await然后致电_getItemCount()

    
    onTap: () async {
        await Navigator.push(context, new MaterialPageRoute<void>(
            builder: (BuildContext context) {
                return new Cart();
            },
        ));
    
    _getItemCount();
    

    }

    2020-01-14 22:43:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载