Timer _countdownTimer;
String _codeCountdownStr = '获取验证码';
int _countdownNum = 59;
void reGetCountdown() {
setState(() {
if (_countdownTimer != null) {
return;
}
// Timer的第一秒倒计时是有一点延迟的,为了立刻显示效果可以添加下一行。
_codeCountdownStr = '${_countdownNum--}重新获取';
_countdownTimer =
new Timer.periodic(new Duration(seconds: 1), (timer) {
setState(() {
if (_countdownNum > 0) {
_codeCountdownStr = '${_countdownNum--}重新获取';
} else {
_codeCountdownStr = '获取验证码';
_countdownNum = 59;
_countdownTimer.cancel();
_countdownTimer = null;
}
});
});
});
}
// 不要忘记在这里释放掉Timer
@override
void dispose() {
_countdownTimer?.cancel();
_countdownTimer = null;
super.dispose();
}
Flutter 获取验证码倒计时实现
最新推荐文章于 2024-06-01 17:41:09 发布