【问题标题】:Flutter - GetX: The list literal type 'List<Item>' isn't of expected type 'RxList<Item>'Flutter - GetX:列表文字类型“List<Item>”不是预期类型“RxList<Item>”
【发布时间】:2021-09-15 03:50:10
【问题描述】:

我是 Flutter 的初学者。我正在制作一种购物清单应用程序。 使用本教程https://www.youtube.com/watch?v=ZnevdXDH25Q 我正在尝试使用 GetX 进行状态管理。

我有一个名为“Items”的类,它有一些属性。我创建了一个项目列表,稍后将显示为卡片。

我无法理解这一点。

这是我现在正在处理的类的代码。

class ItemsController extends GetxController {
  RxList<Item> items = [].obs;

  @override
  void onInit() {
    super.onInit();
    loadItems();
  }

  loadItems() {
    items = [
      Item(
        name: 'olio',
        description: '',
        quantity: 1,
      ),
      Item(
        name: 'mozzarella',
        description: 'di bufala',
        quantity: 4,
      ),
    ];

    items.assignAll(items);
  }
}

我几乎尽我所能,但每次 Android Studio 都会出现此错误: 列表文字类型“List”不是预期的“RxList”类型。

我也尝试将.cast&lt;Item&gt;(); 附加到“项目”列表中,但我收到了消息

type 'RxList<dynamic>' is not a subtype of type 'RxList<Item>'

【问题讨论】:

    标签: flutter flutter-getx


    【解决方案1】:
    • 您已为 RxList 分配了一个列表,因此将其更改为
      RxList<Item> items = <Item>[].obs;
    

    或者只是

      var items = [].obs;
    
    • 在 loadItems 函数中,您已将 List 分配给 RxList,因此请进行如下更改
      loadItems() {
        List<Item> newItems = [
          Item(
            name: 'olio',
            description: '',
            quantity: 1,
          ),
          Item(
            name: 'mozzarella',
            description: 'di bufala',
            quantity: 4,
          ),
        ];
        items.assignAll(newItems);
      }
    

    或者干脆

      loadItems() {
        items.assignAll([
          Item(
            name: 'olio',
            description: '',
            quantity: 1,
          ),
          Item(
            name: 'mozzarella',
            description: 'di bufala',
            quantity: 4,
          ),
        ]);
      }
    

    一开始有点混乱,但你会慢慢得到的

    【讨论】:

      【解决方案2】:

      你忘记导入

      import 'package:get/get.dart';
      

      所以只需添加这行 .obs 就可以了

      【讨论】:

        猜你喜欢
        • 2020-08-01
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-20
        • 2021-08-02
        相关资源
        最近更新 更多