flutter弹框怎么封装_Flutter初始化时 弹出弹出框

在开发中,有时候会有这样的场景,就是一进来页面 就弹出一个Dialog模态框  进行一个页面的提示 或者 页面指引操作,但由于构建的问题,flutter不能在进入页面初始化的时候 直接弹出一个Dialog ,这样会报异常 因为上下文还没被构建出来,这个时候 可以使用 Future.delayed 去实现  这里不光是Dialog 只要是要先加载完的需求 都能用这个 比如一进来就要获取一个组件的位置 就需要先加载完 否则报错,示例如下:

@override

void initState() {

// TODO: implement initState

super.initState();

//初始化时 弹出弹出框 必须加上Future.delayed

Future.delayed(

Duration.zero,

(){

_showCupertinoAlertDialog(

context: context,

title: "提示",

content: "您没有提交的权限,\n当前仅供查阅",

sureText: "确定"

);

}

);

}

///弹窗

void _showCupertinoAlertDialog({context, String title, String content, String sureText}){

showCupertinoDialog(context: context, builder: (cxt){

return CupertinoAlertDialog(title: Text(title), content: Text(content), actions: [

// CupertinoDialogAction(child: Text("取消"),onPressed: (){

// Navigator.pop(cxt,1);

// },),

CupertinoDialogAction(child: Text(sureText),onPressed: (){

Navigator.pop(cxt,2);

// clockJudge();

},)

],);

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值