我想迭代一个地图并在我的 html 文件中显示键和值,为此我使用了 Angular 的 *ngfor 和键值管道。
但是,ngFor 迭代存在错误:
参数类型 Map<string, BarcodeInfoModel> 不可分配给参数类型 {[p: string]: (() => IterableIterator) | ((key: string, value: BarcodeInfoModel) => this) | ((key: string) => boolean) | 字符串 | ((key: string) => (BarcodeInfoModel | 未定义)) | (() => IterableIterator<[string, BarcodeInfoModel]>) | 数量 | (() => IterableIterator) | (() => 无效) | ((callbackfn: (value: BarcodeInfoModel, key: string, map: Map<string, BarcodeInfoModel>) => void, thisArg?: any) => void)} | Map<string, (() => IterableIterator) | ((key: string, value: BarcodeInfoModel) => …
我正在ExpansionPanelList通过使用Provider包来实现 the ,而不是制作Widgetbe statefulWidget。然而,它expansionCallback永远不会起作用。如果我单击屏幕上的第一个折叠列表,它永远不会展开。具体来说,data[0].isExpanded总是false在SummitView.dart. 控制台中没有报告错误。
这是我的SummitView.dart:
import 'package:delta_y/modules/summits/model/Item.dart';
import 'package:delta_y/modules/summits/model/ItemsList.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class SummitView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Summit/Milestone"),
),
body: ChangeNotifierProvider(
create: (context) => ItemsList(),
child: Summit(),
));
}
}
class Summit extends StatelessWidget {
@override
Widget build(BuildContext context) {
final itemModel = Provider.of<ItemsList>(context);
// List<Item> _data = generateItems(8); …Run Code Online (Sandbox Code Playgroud)