首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理Angular Dart中模板中使用的泛型组件?(MaterialChip)

如何处理Angular Dart中模板中使用的泛型组件?(MaterialChip)
EN

Stack Overflow用户
提问于 2020-08-18 14:31:45
回答 1查看 61关注 0票数 1

我在使用itemRendere和材料芯片时遇到了问题。我所拥有的是

代码语言:javascript
复制
<material-chips >
                <material-chip *ngFor="let chip of data"
                               [value]="chip"
                               [removable]="true"
                               [selectionModel]="dataSelectionModel"
                               [itemRenderer]="dataOptionRenderer"
                >
                </material-chip>
            </material-chips>

哪里

代码语言:javascript
复制
final SelectionModel<MyType> datasetSelectModel = SelectionModel<MyType>.multi();
List<MyType> get data=>dataSelectionModel.selectedValues.toList();
ItemRenderer<MyType> dataOptionRenderer= ...

所以就类型安全而言,一切都很好--选择模型和渲染器的泛型类型是完全相同的。然而,这最终导致了一个错误

代码语言:javascript
复制
Expected a value of type '(dynamic) => String', but got one of type '(MyType) => String'

请注意,直接在material-chips标签上使用selectionModel和渲染器会产生相同的结果-迫使我使用非类型化的项目渲染器(因为这两种情况都会发生)

在angular dart中如何处理这样的情况?

EN

回答 1

Stack Overflow用户

发布于 2020-08-22 01:00:54

您需要在组件上声明directiveTypes

代码语言:javascript
复制
@Component(
  directiveTypes: [
    Typed<MaterialChipsComponent<MyType>>()
  ],
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63463024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档