flutter - 处理颤振时禁用按钮
问题描述
如何在处理过程中禁用 aa 按钮?我做了一个like按钮,但是在db上注册like需要一些延迟。如何在处理完成时防止按下按钮。??
onPressed: () {
setState(() {
_color = Colors.green;
_icon = Icon(Icons.favorite);
final like = LikeData(
campaingID: donation.campaignID,
dateTime: Timestamp.now(),
userName: FirebaseAuth.instance.currentUser.displayName,
userId: user.uid,
);
likeService.newLike(donation, like);
如何防止双击此按钮事件?
解决方案
试试这个
bool isProcessing = false; // in your class before build method
onPressed: !isProcessing ? () {
setState(() {
isProcessing = true;
_color = Colors.green;
_icon = Icon(Icons.favorite);
final like = LikeData(
campaingID: donation.campaignID,
dateTime: Timestamp.now(),
userName: FirebaseAuth.instance.currentUser.displayName,
userId: user.uid,
);
likeService.newLike(donation, like).then((val) {
setState() {
isProcessing = false;
}
});
});
} : null,
推荐阅读
- javascript - Vue:无法将值从父组件传递给子组件
- c# - 创建 SSL 连接时的 .NET Core 3.1 Alpine 图像竞争条件
- kubernetes-helm - 具有多个部署的 helm install 图表 - 并行
- angular - Angular9 - 以模态形式打开反应形式的一部分
- mediawiki - 如何通过 MediaWiki API 获取维基百科所有内容页面的 Pageids 和 Title?
- javascript - 引号中的 Javastript 语法
- android - Flutter - 如何在 Listview 构建器顶部添加项目?
- python-3.x - 我想在代码运行时计算时间,5秒后我想打印循环中的数字,但为什么我的代码不适用于 time.time()?
- javascript - ajax面临的问题
- django - 有没有办法在 Django 模型中自动生成对象?