当前位置: 首页 > news >正文

珠海网站建设最新报价新闻类软文营销案例

珠海网站建设最新报价,新闻类软文营销案例,商城版免费网站,惠州百度网络推广flutter开发实战-使用FutureBuilder异步数据更新Widget 在开发过程中,经常遇到需要依赖异步数据更新Widget的情况,如下载图片后显示Widget,获取到某个数据时候,显示在对应的UI界面上,都可以使用FutureBuilder异步数据…

flutter开发实战-使用FutureBuilder异步数据更新Widget

在开发过程中,经常遇到需要依赖异步数据更新Widget的情况,如下载图片后显示Widget,获取到某个数据时候,显示在对应的UI界面上,都可以使用FutureBuilder异步数据更新Widget。

一、FutureBuilder

FutureBuilder是一个Widget,该Widget基于与Future]交互的最新快照构建的。

/// Creates a widget that builds itself based on the latest snapshot of/// interaction with a [Future].////// The [builder] must not be null.const FutureBuilder({super.key,this.future,this.initialData,required this.builder,}) : assert(builder != null);

其中

  • future:final Future? future; 是一个异步的任务;

  • builder:final AsyncWidgetBuilder builder;是创建显示的Widget,可以根据AsyncSnapshot<String?> snapshot来确定显示的Widget,可以在Future执行过程中被调用多次。

二、使用FutureBuilder

这里使用FutureBuilder的示例,我是通过加载网页时候,需要将Webview中设置cookie,cookie中需要设置token。token需要获取到再设置到Webview中的cookie中。

获取token

Future<String?> _getToken() async {final token = (await SessionDataService.sessionData)?.token;if (token == null) return null;return token;}

使用FutureBuilder用来在获取token后更新Webview,先判断snapshot.hasData是否有数据。如果有数据,则直接显示Webview,如果没有数据,则显示默认的Container。

FutureBuilder<String?>(future: _getToken(),builder: (BuildContext context, AsyncSnapshot<String?> snapshot) {if (snapshot.hasData) {final token = snapshot.data;if (token == null) return Container();return WebView(javascriptMode: JavascriptMode.unrestricted,initialUrl: url,initialCookies: [WebViewCookie(name: "auth", value: "token", domain: "inice.cn"),],userAgent: "inice.cn",onWebViewCreated: (controller) {cookieManager.setCookies([Cookie('auth', token)..domain = 'inice.cn'..httpOnly = false,]);webController = controller;},);}return Container();},),

完整代码如下

class WebViewScreen extends StatelessWidget {WebViewScreen({Key? key, required this.url}) : super(key: key);final String url;WebViewController? webController;final cookieManager = WebviewCookieManager();Future<String?> _getToken() async {// final token = (await SessionDataService.sessionData)?.token;final token = ApiAuth().token;if (token == null) return null;return token;}Widget build(BuildContext context) {return Scaffold(body: Stack(children: [Container(color: Colors.amber,),SafeArea(bottom: false,child: FutureBuilder<String?>(future: _getToken(),builder: (BuildContext context, AsyncSnapshot<String?> snapshot) {if (snapshot.hasData) {final token = snapshot.data;if (token == null) return Container();return WebView(javascriptMode: JavascriptMode.unrestricted,initialUrl: url,initialCookies: [WebViewCookie(name: "auth", value: "token", domain: "inice.cn"),],userAgent: "inice.cn",onWebViewCreated: (controller) {cookieManager.setCookies([Cookie('auth', token)..domain = 'inice.cn'..httpOnly = false,]);webController = controller;},);}return Container();},),),],),);}
}

三、小结

flutter开发实战-使用FutureBuilder异步数据更新Widget。描述可能不是特别准确,请见谅。

https://blog.csdn.net/gloryFlow/article/details/133490457

学习记录,每天不停进步。

http://www.wangmingla.cn/news/104350.html

相关文章:

  • 公众号链接的手机网站怎么做电商怎么做营销推广
  • ecshop 网站搬家网络营销包括的主要内容有
  • wordpress 图片走cdnseo优化轻松seo优化排名
  • 网站开发和软件开发工作网站收录查询方法
  • wordpress国内视频网站百度交易平台官网
  • 甘南州合作市住房建设局网站百度推广关键词和创意
  • 政府网站建设经验典型材料app推广方案模板
  • 中老年适合在哪个网站做直播百度竞价推广的技巧
  • flash网站建设技术网站下载
  • 辽宁营商建设局网站网络推广引流方式
  • 网站整体建设方案论文链接交换平台
  • 网站会对特殊的ip做跳转举三个成功的新媒体营销案例
  • 一级域名建站网站建设行吗深圳关键词自动排名
  • 昆明网站关键字优化如何建立一个网站
  • 政府网站红色模板技术培训班
  • 专门做化妆的招聘网站营销方案ppt
  • 我做外贸要开国际网站吗百度收录比较好的网站
  • 个人做网站最方便的方法腾讯广告联盟
  • 做网站之前要安装什么站长之家 站长工具
  • b2b企业网站推广网站建设报价方案
  • 可以做视频的网站外贸seo网站
  • 网站的导航栏百度百科合作模式
  • 陕西西安最新疫情百度首页排名优化公司
  • wordpress如何go转seo优化厂商
  • 教你如何做网站app拉新推广项目
  • 房地产企业网站建设微商推广哪家好
  • 贵州黔东南双控体系建设网站活动推广朋友圈文案
  • 俄文网站开发地点友博国际个人中心登录
  • 个人网站可以做商业吗长春网站关键词排名
  • 厦门外贸网站建设 之家发外链的平台有哪些