在Flutter中使用PopUpMenuItem onTap / onPessed的正确方法是什么?

时间:2019-08-13 00:02:07

标签: flutter dart

点击PopupMenuItem时,在Flutter中调用函数的正确方法是什么?因为窗口小部件本质上不具有onTapped属性。唯一接近它的是设置PopupMenuItem小部件的值。因此,我采用的方法是在PopupMenuButton的onSelected参数中设置状态。我在互联网上找不到任何人谈论这种情况,所以我认为值得其他人的意见。这是这样做的正确方法吗?

我试图将FlatButton用作PopupMenuButton的子级,但是它不起作用。似乎该应用程序没有记录FlatButton的onTapped功能。

        PopupMenuButton<Choice>(
          onSelected: (Choice result) {
            setState(() {
              _selection = result;
              if (_selection == Choice.SIGN_OUT) {
                _signOut();
                print('[home.dart] _signOut()');
              }
            });
          },
          itemBuilder: (BuildContext context) => 
            <PopupMenuEntry<Choice>>[
            PopupMenuItem(
              child: Text(
                'Sign Out',
                style: TextStyle(color: Colors.black),
              ),
              value: Choice.SIGN_OUT,
            ),
          ],
        ),

预期结果是在点击PopupMenuItem时调用一个函数。

0 个答案:

没有答案