• Flutter 中AlertDialog确认提示弹窗


      import 'package:flutter/material.dart';
      import 'dart:async';
    
      enum Action {
        Ok,
        Cancel
      }
    
      class AlertDialogDemo extends StatefulWidget {
        @override
        _AlertDialogDemoState createState() => _AlertDialogDemoState();
      }
    
      class _AlertDialogDemoState extends State<AlertDialogDemo> {
        String _choice = 'Nothing';
        
        Future _openAlertDialog() async {
          final action = await showDialog(
            context: context,
            barrierDismissible: false,//// user must tap button!
            builder: (BuildContext context) {
              return AlertDialog(
                title: Text('提示'),
                content: Text('是否删除?'),
                actions: <Widget>[
                  FlatButton(
                    child: Text('取消'),
                    onPressed: () {
                      Navigator.pop(context, Action.Cancel);
                    },
                  ),
                  FlatButton(
                    child: Text('确认'),
                    onPressed: () {
                      Navigator.pop(context, Action.Ok);
                    },
                  ),
                ],
              );
            },
          );
    
          switch (action) {
            case Action.Ok:
              setState(() {
                _choice = 'Ok';
              });
              break;
            case Action.Cancel:
              setState(() {
                _choice = 'Cancel';
              });
              break;
            default:
          }
        }
        
        @override
        Widget build(BuildContext context) {
          return Scaffold(
            appBar: AppBar(
              title: Text('AlertDialogDemo'),
              elevation: 0.0,
            ),
            body: Container(
              padding: EdgeInsets.all(16.0),
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text('Your choice is: $_choice'),
                  SizedBox(height: 16.0,),
                  Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      RaisedButton(
                        child: Text('Open AlertDialog'),
                        onPressed: _openAlertDialog,
                      ),
                    ],
                  ),
                ],
              ),
            ),
          );
        }
      }


    文档:https://api.flutter.dev/flutter/material/AlertDialog-class.html

  • 相关阅读:
    设置为自动启动的WindowService没有开机启动
    Asp.Net部署问题
    MSDTC的折磨
    C# WinForm 边框阴影窗体
    升级DotNetNuke
    常用缩写
    DotNetNuke的升级路径
    日本語文法勉強
    PostSubmitter~在WEB应用程序以外的其他程序里提交Web请求的类
    vue中的锚链接跳转问题
  • 原文地址:https://www.cnblogs.com/loaderman/p/11323721.html
Copyright © 2020-2023  润新知