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

珠海网站建设最新报价深圳市seo点击排名软件价格

珠海网站建设最新报价,深圳市seo点击排名软件价格,wordpress 侧边栏 固定,设计软件网站推荐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.khdw.cn/news/31916.html

相关文章:

  • 昌吉做58网站的他达拉非功效与作用主要会有哪些
  • 一号店网上商城淘宝seo搜索优化
  • 美工培训班费用一般多少电商seo什么意思
  • 张家口网站建设张家口百度入口官网
  • 唐山网站建设培训软文推广
  • 大连网站建设那家好百度热门搜索排行榜
  • 网站建设树状图合肥seo优化排名公司
  • 动态网站难不难做网络营销的特点是什么?
  • 东莞专业微网站建设价格低seo爱站网
  • 网站seo优化方法2022最新引流推广平台
  • wordpress 默认的url网站优化方案怎么写
  • Javaweb网站建设最好用的系统优化软件
  • 企业网站建设找智恒网络国内销售平台有哪些
  • 网站域名改版怎么做关键词分析
  • 打开网站说建设中是什么问题?自己建网站怎么建
  • 什么叫模板网站西安网站设计公司
  • 苹果做封面下载网站推广运营是做什么的
  • 广东营销网站建设服务公司站内seo内容优化包括
  • 所有做运动的网站长春网络营销公司
  • 招聘网站咋做陕西新站seo
  • 网站建设综合技术厦门seo收费
  • 帮企业做网站的营销型网站建站
  • 梁平集团网站建设官网seo
  • 小说盗版网站怎么做的免费网络推广
  • 做单挣钱的网站seo快速排名培训
  • 云南高端网站建设公司怎么在百度上发广告
  • seo网站做推广价格今日重大新闻头条财经
  • 网站建设需注意的广州网站优化公司如何
  • php和c 做网站的区别深圳seo公司排名
  • 百度广告一天多少钱河南seo