最近在学习开发Flutter应用项目,在创建tabbar和tabview后,进行网络请求后显示顶部tab标签,设置TabController,并使class类实现SingleTickerProviderStateMixin,代码如下

class _TravelPageState extends State<TravelPage> with SingleTickerProviderStateMixin{
TabController _tabController;
TravelTabModel travelTabModel;
List<TravelTab> tabs = [];
@override
void initState() {
_tabController = TabController(length: 0, vsync: this);
TravelTabDao.fetch().then((TravelTabModel model){
print(model);
_tabController = TabController(length: model.tabs.length, vsync: this);
setState(() {
tabs = model.tabs;
travelTabModel = model;
});
}).catchError((e){
print(e);
});
super.initState();
}

运行代码后模拟器没有显示tab标签文字,且报如下错误

flutter:  is a SingleTickerProviderStateMixin but multiple tickers were created.
A SingleTickerProviderStateMixin can only be used as a TickerProvider once.
If a State is used for multiple AnimationController objects, or if it is passed to other objects and those objects might use it more than one time in total, then instead of mixing in a SingleTickerProviderStateMixin, use a regular TickerProviderStateMixin.

如上报错,原因是多个地方调用setState请求重绘,但是state使用的是SingleTickerProviderStateMixin ,将其改成TickerProviderStateMixin即可。

将上述代码进行修改如下:

class _TravelPageState extends State<TravelPage> with SingleTickerProviderStateMixin

修改为:

class _TravelPageState extends State<TravelPage> with TickerProviderStateMixin

修改完成后,重新运行项目即可。

最新文章

  1. Ajax工作原理(转)
  2. https WebAPi
  3. get the execution time of a sql statement.
  4. hadoop环境中误删除tmp文件夹的恢复
  5. Virtual
  6. MySQL数据库存储过程动态表建立(PREPARE)
  7. Ubuntu16.04下安装Chrome出现“未安装软件包 libappindicator1”问题的解决办法
  8. mysql避免数据库误操作小技巧(转)
  9. latex中使用listings显示代码
  10. 升级 Centos 6.5/6.7 的 php 版本
  11. Unity 2D入门基础教程之僵尸先生
  12. (zhuan) 一些RL的文献(及笔记)
  13. leetcode-algorithms-24 Swap Nodes in Pairs
  14. 从#!/bin/bash中想到的...
  15. [HNOI2004] 打砖块
  16. AngularJS-$scope类
  17. CentOS安装使用git
  18. Powerdesigner逆向工程从mysql生成PDM
  19. spring-boot日志操作
  20. Spring框架中ModelAndView、Model、ModelMap的区别

热门文章

  1. squid+iptables实现网关防火墙
  2. MATLAB常用函数, 常见问题
  3. The &#39;decorators&#39; plugin requires a &#39;decoratorsBeforeExport&#39; option, ...(npm start报错)
  4. [C++] 检查随机内存溢出
  5. Python--day39--管道和数据共享(面试可能会问到)
  6. H3C 多路径网络中环路产生过程(2)
  7. easyui—element-ui框架套用(表格宽度自适应)
  8. P1012 鸡兔同笼问题
  9. vue-learning:32 - component - 异步组件和工厂函数
  10. js实现instanceof