小编Nit*_*ish的帖子

Flutter 和 Getx 状态管理 - 列表视图更改

使用 flutter 和 Getx 状态管理创建一个购物应用程序。我不知道如何为列表中的每个元素创建一个控制器。这样,列表中特定元素的任何更改都只会重新加载该元素,而不是整个列表重新加载。

在此输入图像描述

如果我单击“新订单”容器,其他容器(“订单已确认”、“已完成”)也会重建(整个列表视图重建)。

我的型号:

import 'package:get/get.dart';

class TabModel {
  late String tabName;
  RxBool isSelected = false.obs;

  TabModel(this.tabName);
}
Run Code Online (Sandbox Code Playgroud)

我的控制器:

import 'package:get/get.dart';
import 'package:super_mart_merchant/view/orders/view_models/tab_model.dart';
import 'package:collection/collection.dart';

class TabViewController extends GetxController{
  RxList<TabModel> tabModels = <TabModel>[].obs;
  @override
  void onInit() {
    super.onInit();
    loadVal('New Order',true);
    loadVal('Order Confirmed',false);
    loadVal('Order Declined',false);
    loadVal('Completed',false);
  }

  void loadVal(String name,bool isSelected){
    TabModel tabModel = TabModel(name);
    tabModel.isSelected.value = isSelected;
    tabModels.add(tabModel);
  }

  void onClick(int pos){
    TabModel tabModel =   tabModels[pos];
    if(!tabModel.isSelected.value){
      TabModel? previousTabModel =  tabModels.firstWhereOrNull((element) => element.isSelected.value);
      if(previousTabModel != null){
        previousTabModel.isSelected.value …
Run Code Online (Sandbox Code Playgroud)

get dart flutter flutter-getx

6
推荐指数
1
解决办法
1743
查看次数

标签 统计

dart ×1

flutter ×1

flutter-getx ×1

get ×1