NGRX实体适配器-更新id



您能告诉我是否有可能在实体适配器中轻松编辑id吗?我希望能够编辑它,但也避免重复。

以下是流程描述:

  1. 我的适配器如下所示:
adapter = createEntityAdapter<Item>({
selectId: (item: Item) => item.id
})

我正在从BE获得一系列项目:

[{id:"start",value:"my value"},{id:"start2",value:"my value2"}]
  1. 它正在减速器中变为实体:
on(Actions.loadAll, (state, action) =>
adapter.addAll(action.items, {
...state
})
),
  1. 每个id都列为用户可编辑的输入。现在,我想在每次更改时更新正确的实体及其id

如何实现这一点?ngModel和adapter.update?感谢您的帮助:(

没有办法更新实体id,因为ngrx的实现依赖于entity.id值。

这意味着您需要实现自己的reducer,该reducer删除(removeOne(具有旧id的实体,并添加(upsertOne(具有新id的新实体。

最新更新