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

问题描述 投票:1回答:1

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

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依赖项。我认为状态不会每次都更新,这就是计数未更新的原因。

android sqlite flutter dart shopping-cart
1个回答
0
投票
Imho,您可以添加await,然后呼叫_getItemCount()

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

© www.soinside.com 2019 - 2024. All rights reserved.