Flutter提供者模式不影响列表内容更改小部件上的UI更改

时间:2019-11-12 15:51:22

标签: flutter dart flutter-layout

我直接更改值后,UI就会更新, 但是当我更改列表中某项的值时不会 有人曾经遇到过这个挑战吗? 请解释为什么会发生这种情况。 有哪些替代方法可用?

 class Item {
      int itemQty;
      final double itemPrice;
      final double itemDiscount;

      Item({
        this.itemDiscount,
        this.itemQty,
        this.itemPrice,
      });

      Map<String, Object> toJson() {
        return {
          'itemPrice': itemPrice,
          'itemQun': itemQty,
          'itemDiscount': itemDiscount,
        };
      }    
        class Home extends StatelessWidget {    
          @override
          Widget build(BuildContext context) {    
          return Scaffold(
              body:Container(
                child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
        IconButton(
                                        icon: Icon(Icons.remove_circle,
                                            color: Colors.amber.shade500),
                                        onPressed: () {
                                          if (model.quantity >
                                              0) {
                                            model.quantity--;
                                          }
                                        },
                                      ),

                                      new IconButton(
                                        icon: Icon(Icons.remove_circle,
                                            color: Colors.amber.shade500),
                                        onPressed: () {
                                          if (itemList[ind].itemQty >
                                              0) {
                                            Provider.of<MakanikaModel>(
                                              context,
                                            ).requestItems[ind].itemQty--;
                                          }
                                        },
                                      )
                  ],
                ),            
              ),  
            );
          }
        }

0 个答案:

没有答案