重建列中的小部件

时间:2020-01-14 08:12:32

标签: flutter

所以我在一栏中有2个小部件。 1是容器的列表视图,另一个是TabBar和TabBarView的列。我写了这段代码,它可以帮助我存储当前索引为选定的TabView

 TabController _tabController;

  void initState() {
    super.initState();
    _tabController = new TabController(vsync: this, length: 4);
    _tabController.addListener(() {
    globals.tabIndex = _tabController.index;
    });
  }

MyApp

根据图像,我想随着活动列表视图更改(活动容器为蓝色)来更改图块的颜色。容器具有onTap功能,可在按下容器时更改其颜色。无论如何,当listview索引更改时,我可以重建顶级容器吗?

2 个答案:

答案 0 :(得分:0)

您只需调用setState函数即可重建小部件;

enter image description here

SELECT t.filial_code,
       t.modified_by               AS emp_code,
       SUM(t.sum_oper * c.equival) AS summa,
       t.oper_date                 AS operation_date
FROM   OPERS t
       CROSS JOIN
       DEP_OPERS d
       INNER JOIN (
         SELECT c.*,
                LEAD( DATE_ACTIV, 1, SYSDATE )
                  OVER ( PARTITION BY code ORDER BY date_activ )
                  AS DATE_FINISHED
         FROM   v_currency c
       ) c
       ON (   t.oper_date     >= c.date_activ
          AND t.oper_date     <  c.date_finished
          AND d.currency_code = c.currency_code )
WHERE  t.modified_by   = 213
AND    t.filial_code   = '00116'
AND    d.currency_code = 840
AND    t.oper_date     >= DATE '2020-01-07'
AND    t.oper_date     <  DATE '2020-01-11'
GROUP BY t.oper_date,
         t.filial_code,
         t.modified_by

答案 1 :(得分:0)

嘿,这里创建了一个简单的示例来展示如何实现此目标。使用您提到的所有组件tabBar,TabBarView,ListViewBuilder创建列表。

元素的onTap使用tabController动画到Tab。然后,这会触发addListener回调,该回调将更新currentSelected索引。

https://dartpad.dev/5f5475b790fe9a75b26c1f686adab96e