setState和在flutter中更改小吃店属性应重新打开小吃店以启用新的属性

时间:2019-11-25 23:04:59

标签: flutter rendering setstate snackbar

在小吃栏中的两个项目之间进行选择,并在不关闭小吃栏的情况下更改所选颜色,然后使用setState不起作用再次将其打开

此代码显示小吃店调用setState mehtod setState不会更改实时显示的小吃栏,而只是更改值 因此,如果您再次致电点心栏,您将看到新值

 bool isGreen = false;
  void snackbarTest() {
    _key.currentState.showSnackBar(SnackBar(
      content: Row(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: <Widget>[
          InkWell(
            onTap: () {
              setState(() {
                isGreen = !isGreen;
              });
            },
            child: Container(
              height: 40,
              width: 50,
              color: isGreen ? Colors.green : Colors.red,
            ),
          ),
          InkWell(
            onTap: () {
              setState(() {
                isGreen = !isGreen;
              });
            },
            child: Container(
              height: 40,
              width: 50,
              color: isGreen ? Colors.red : Colors.green,
            ),
          ),
        ],
      ),
    ));
  }

0 个答案:

没有答案