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

TDesign:Tabs 选项卡

tabs切换

简单的tabs切换

在这里插入图片描述

// view
Widget _buildTab() {
  return TDTabBar(
    controller: controller.tabController,
    tabs: controller.tabNames.map((e) => TDTab(text: e)).toList(),
    onTap: (index) => controller.onTapTabItem(index),
    backgroundColor: Colors.white,
    showIndicator: true,
    indicatorColor: const Color(0xffe01e1e),
    labelColor: const Color(0xffe01e1e),
  );
}


// controller
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class OrderDetailController extends GetxController with GetTickerProviderStateMixin {
  OrderDetailController();
  // tab 控制器
  late TabController tabController;
  // tab 索引
  int tabIndex = 0;
  // tab 名称
  List<String> tabNames = ['全部', '待付款', '待发货', '待收货', '已完成'];
  void onTapTabItem(int index) {
    tabIndex = index;
    print('tabIndex: $tabIndex');
    update(["order_detail"]);
  }
  
  @override
  void onInit() {
    super.onInit();
    tabController = TabController(length: tabNames.length, vsync: this);
  }

  @override
  void onClose() {
    super.onClose();
    tabController.dispose();
  }
}

tabs切换和视图同步

// view
Widget _buildView() {
  return <Widget>[
    _buildTab(),
    Expanded(
      child: TabBarView(
        controller: controller.tabController,
        children: const [
          Center(child: Text('内容1')),
          Center(child: Text('内容2')),
          Center(child: Text('内容3')),
          Center(child: Text('内容4')),
          Center(child: Text('内容5')),
        ],
      ),
  ),
  ].toColumn();
}

http://www.kler.cn/a/454538.html

相关文章:

  • C++第五六单元测试
  • 指针与数组:深入C语言的内存操作艺术
  • JVM的详细介绍
  • 聊一聊 C#前台线程 如何阻塞程序退出
  • 在 Vue3 项目中实现计时器组件的使用(Vite+Vue3+Node+npm+Element-plus,附测试代码)
  • 五分钟学会如何在GitHub上自动化部署个人博客(hugo框架 + stack主题)
  • Boost之log日志使用
  • Elasticsearch安装和数据迁移
  • [微服务]elasticsearc客服端操作
  • 【从零开始入门unity游戏开发之——C#篇33】C#委托(`Delegate`)和事件(`event` )、事件与委托的区别、Invoke()的解释
  • Spring Boot的开发工具(DevTools)模块中的热更新特性导致的问题
  • Vue3 Suspense:处理异步渲染过程
  • 力扣-数据结构-4【算法学习day.75】
  • EleutherAI/pythia-70m
  • 联通移动大内网如何使用plex流媒体服务器
  • 讲一个自己写的 excel 转 html 的 java 工具
  • 三只脚的电感是什么东西?
  • Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉
  • 更改 pnpm 的全局存储位置
  • User Script Sandboxing作用 及 在iOS项目中获取GitCommitHash
  • MacOS安装Xcode(非App Store)
  • 2-197 基于matlab的生物地理学优化算法(BBO)在无人机三维航迹规划中的应用
  • Nature+Science=ONNs(光学神经网络)
  • html文件通过script标签引入外部js文件,但没正确加载的原因
  • 1_H5视频播放器-1 -- [前端开发之道:通过实例掌握编程思维]
  • Centos7配置webrtc-streamer环境