按钮 onPressed 异步方法,带有 2 个 setState
创始人
2024-11-03 15:00:28
0

以下是一个包含代码示例的解决方法:

import 'package:flutter/material.dart';

class MyButton extends StatefulWidget {
  @override
  _MyButtonState createState() => _MyButtonState();
}

class _MyButtonState extends State {
  bool isLoading = false;
  bool isButtonDisabled = false;

  Future fetchData() async {
    setState(() {
      isLoading = true;
      isButtonDisabled = true;
    });

    // 模拟一个异步操作,例如从后端获取数据
    await Future.delayed(Duration(seconds: 2));

    setState(() {
      isLoading = false;
      isButtonDisabled = false;
    });
  }

  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      onPressed: isButtonDisabled ? null : fetchData,
      child: isLoading ? CircularProgressIndicator() : Text('Fetch Data'),
    );
  }
}

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      appBar: AppBar(
        title: Text('Button Example'),
      ),
      body: Center(
        child: MyButton(),
      ),
    ),
  ));
}

在上面的示例中,我们创建了一个名为MyButtonStatefulWidget,其中包含了一个异步方法fetchData,该方法在按钮的onPressed事件中调用。在fetchData方法中,我们使用了两个setState来更新两个状态变量isLoadingisButtonDisabled。当按钮被点击时,我们将isLoading设置为true,并将isButtonDisabled设置为true,这样按钮将被禁用并显示一个加载指示器。在异步操作完成后,我们再次使用setStateisLoading设置为false,并将isButtonDisabled设置为false,从而使按钮恢复可点击状态。

相关内容

热门资讯

更值得关注的是!hhpoker... 更值得关注的是!hhpoker作必弊实战视频,途游辅助官网,果然是有辅助app(哔哩哔哩)1、下载好...
解密透视!pokemmo脚本手... 解密透视!pokemmo脚本手机版,聚星ai辅助工具激活码(透视)其实真的有辅助方法(哔哩哔哩)1、...
此事引发广泛关注!约局吧游戏挂... 此事引发广泛关注!约局吧游戏挂,聚星ai辅助工具收费多少,好像真的有辅助教程(哔哩哔哩)1、聚星ai...
解谜透视!拱趴大菠萝有什么挂,... 解谜透视!拱趴大菠萝有什么挂,菠萝辅助器免费版的功能介绍(透视)切实是有辅助技巧(哔哩哔哩)1、菠萝...
今天下午!竞技联盟辅助,哥哥打... 今天下午!竞技联盟辅助,哥哥打大a有没有辅助,都是真的有辅助攻略(哔哩哔哩)1、用户打开应用后不用登...
关于透视!aa poker辅助... 您好,来玩app破解这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩家...
围绕透视问题!拱趴大菠萝万能挂... 围绕透视问题!拱趴大菠萝万能挂,手游辅助脚本平台,都是有辅助脚本(哔哩哔哩)1)拱趴大菠萝万能挂辅助...
科普透视!pokerworld... 科普透视!pokerworld修改器,红龙poker辅助器免费观看(透视)真是真的是有辅助工具(哔哩...
反观!淘宝买wepoker透视... 反观!淘宝买wepoker透视有用吗,同乡游辅助工具,一直是真的有辅助软件(哔哩哔哩)1、进入游戏-...
分享透视!拱趴大菠萝有什么挂,... 分享透视!拱趴大菠萝有什么挂,德州局脚本(透视)竟然真的有辅助神器(哔哩哔哩)1、拱趴大菠萝有什么挂...