flutter - 对话框中提升按钮的设置状态(颤振)?
问题描述
对于提升按钮,我想通过 setState 显示可见/隐藏部分内容。但是,我可以在普通页面中执行此操作,但不能在对话框中执行此操作。这是代码:
bool addmaterial = true;
ClipRRect(
borderRadius: BorderRadius.circular(50),
child: SizedBox(
height: 40,
width: 400,
child: ElevatedButton(
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all<Color>(
Color(0xfff4f4f4)),
),
onPressed: () {
addmaterial = !addmaterial;
},
解决方案
尝试在 showDialog 小部件中添加 StateFulBuilder。如果要更改 showDialog 内的状态
showDialog(
context: context,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (context, setState) {
return AlertDialog(
actions: <Widget>[],
content: Container(),
);
},
);
},
);
推荐阅读
- terraform - Terraform:使用文件插值从模块中读取本地文件
- regex - One-liner to extract domain from email address
- swift - 编译时自定义 NSTableCellView 给了我“在展开可选值时意外发现 nil”
- c++ - 我该如何优化这个侵蚀过滤器代码?
- c# - 从异步方法调用 LINQ 查询的 ToList,而不是 ToListAsync,是否会导致死锁?
- oracle - sqldeveloper下连接Oracle数据库的问题
- php - 在 PHP 中处理循环和组合值
- bokeh - 如何使用全息视图从直方图数据中显示 cdf?
- php - Symfony 4 集合型变压器。如何优雅地显示文本字段中的值?
- laravel-5 - 设置 header.Authorization 时 Laravel Cors 问题