如何将 bool false 替换为 true 颤振

时间:2021-02-11 04:58:33

标签: flutter flutter-layout

在这种情况下,我想通过在 flutter 编程语言中单击 Inkwel 1x 将布尔值 false 更改为 true。我将更改的键位于菜单的数组列表中。所以当菜单被点击时,键以false开头,然后它会变成true。按照我的代码。我要更改的是收藏键enter image description here

这个数组数据:

List<menuData> _menuServiceList = [];



    @override
  void initState() {
    _menuServiceList.add(new menuData(
        id: 1, name: 'menu 1', image: 'assets/icon/balancesheet.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 2, name: 'menu 2', image: 'assets/icon/card.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 3, name: 'menu 3', image: 'assets/icon/decrease.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 5, name: 'menu 4', image: 'assets/icon/growth.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 5, name: 'menu 5', image: 'assets/icon/growth.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 6, name: 'menu 6', image: 'assets/icon/officesupplies.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 7, name: 'menu 7', image: 'assets/icon/piechart.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 8, name: 'menu 8', image: 'assets/icon/sharemoney.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 9, name: 'menu 9', image: 'assets/icon/speechbubble.png', favorit: false
    ));
    _menuServiceList.add(new menuData(
        id: 10, name: 'menu 10', image: 'assets/icon/grid.png', favorit: true
    ));

    super.initState();
  }

此代码单击按钮:

   child: InkWell(
          onTap: (){
            setState(() {
              if (menuData.favorit == false){
                print("klik false");
                
              }else{
                print("klik true");
              }
            });
          },
          child:  HeaderItem(
            images: menuData.image,
            title: menuData.name,
            textcolor: Colors.grey[600],
          ) ,
        )

1 个答案:

答案 0 :(得分:1)

首先,请确保 menuData.favorit 是可变的。然后相应地更新标志

child: InkWell(
          onTap: (){
            setState(() {
               menuData.favorit = !menuData.favorit;
            });
          },
          child:  HeaderItem(
            images: menuData.image,
            title: menuData.name,
            textcolor: Colors.grey[600],
          ),
        )