NGRX/data如何修改/更新additionalCollectionState

问题描述 投票:0回答:1

我面临一个问题且无法解决:

我正在使用 ngrx 数据,如下所示:

const entityMetadata: EntityMetadataMap = {
    forReports: {
        entityDispatcherOptions: {
            optimisticUpdate: true,
        },
        additionalCollectionState: {
            selectedForReports: []
        }
    },
};

& 已注册:

export class ForReportsModule {
    constructor(
        private eds: EntityDefinitionService,
        private entityDataService: EntityDataService,
        private forReportsDataService: ForReportsDataService
    ) {
        eds.registerMetadataMap(entityMetadata);

        entityDataService.registerService("forReports", forReportsDataService);
    }
}

商店: enter image description here

我想要实现的是简单地用函数修改

selectedForReports
店内。

例如:

function updateSelect(value) {

...
...
selectedForReports = value;
...
}

我尝试浏览 ngrx 的官方文档所有 stackoverflow post github 帖子,但这些都不起作用。

ngrx angular-ngrx-data ngrx-data
1个回答
0
投票

您似乎正在使用 ngrx/data 功能来管理您的报告列表。该包非常适合简单的 REST 操作。我要做的是为 selectedForReports 创建另一个商店,因为此功能超出了实体数据包提供的功能。

因此,使用使用 ngrx/data 的 forReports 存储来处理 forReports 的查询、获取、更新和删除操作,然后创建另一个常规存储来处理 selectedForReports 操作和状态。

查看额外集合状态的文档。它们基本上要求您在使用此属性时设置新的减速器和结果处理程序,这与设置另一个商店没有太大不同。为什么不避免这种复杂性并为 selectedForReports 设置一个单独的存储?

© www.soinside.com 2019 - 2024. All rights reserved.