0

嗨,我在我的 Angular 项目中使用 NgRx 商店进行状态管理。

我的目标是在动作调度中清除一些状态属性。属性名称数组被传递给动作。

// 行动

export const clearFields = createAction(
    '[SC Base Data] Clear Fields',
    props<{ fields: string[] }>()
);

// 减速器

on(SCActions.clearFields, (state: SCState,fields: string[]) => ({
        ...state,
        
        SCData: {
            ...state.SCData
        }
    })),

/ 如何遍历字段数组并将状态属性值设置为空白

4

1 回答 1

0

如果您所说的“空白”是指null,我相信您正在寻找的是以下内容:

on(SCActions.clearFields, (state: SCState, fields: string[]) => ({
  // create an Object whose keys are all elements of fields and every value is null
  const clearedState = {};
  fields.forEach(field => {
    clearedState[field] = null;
  });
  // return new copy of state nulling all fields from fields array
  return {
    ...state,
    ...clearedState
  };
}))
于 2021-04-29T21:27:47.410 回答