【问题标题】:how to change a color of widget based on condition flutter如何根据条件抖动更改小部件的颜色
【发布时间】:2021-02-07 20:46:25
【问题描述】:

我有一个 IconButton 并且我想在订单列表不为空时更改图标和颜色,我创建了两个 IconData ,一个用于完整的购物车,一个用于空购物车。 起初它正在改变颜色和购物车类型,但现在它不会改变,直到我回到第一个活动(页面)然后再次重新打开这个活动(页面)..我不知道是什么问题。 这是我使用的代码;请需要帮助

 IconData cartIcon= Icons.add_shopping_cart;
 IconData cart2 = Icons.shopping_cart;
   
IconButton(
   
          icon:widget.rest.items_to_Order.isEmpty?Icon(cartIcon, color: Colors.white,):Icon(cart2 , 
           color: Colors.amber,),
          iconSize: 30,
          onPressed: () {
            Navigator.push(context, new MaterialPageRoute(builder: (context)=> new list_orders_page(widget.rest)));
          },
        ),

【问题讨论】:

  • 您是否使用任何 setState() 方法来触发重建?
  • @VinoopKS 不,我没有

标签: flutter dart


【解决方案1】:

您应该使用setState(() {}); 重建小部件 以下是行程操作示例:

color: booleanVariable == true ? Colors.white : Colors.black,

当有一个“onTap”动作时,使用setState(() {booleanVariable = true;});改变颜色。

布尔变量只是一个选项,你可以使用不同类型的变量。

【讨论】:

    猜你喜欢
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    相关资源
    最近更新 更多