1

I need to pass a variable value from the parent component to the child component through an input. That is, the screenMode value received through the above ng-container needs to be given to the add-user child component.

<ng-container *ngIf="screenMode == screenStateEnum.ADD_USER || screenMode == screenStateEnum.EDIT_USER">

<add-user [screenMode] = "screenMode" [userId]="selectedRow?.userId" (goToUsers)="refresh()"></add-user>

</ng-container>

In add-user.component has @Input() screenMode: string; But this input always returns 0 for EDIT_USER and 1 for ADD_USER.

Demodev
  • 94
  • 10

1 Answers1

2

These values imply that your screenStateEnum enum is a numeric enum and looks something like this:

enum screenStateEnum {
  ADD_USER,
  EDIT_USER
}

If you want string values, you'd have to use a string enum. That could look something like:

enum screenStateEnum {
  ADD_USER = 'ADD_USER',
  EDIT_USER = 'EDIT_USER'
}

Of course you could also just change the type of your input field from:

@Input() screenMode: string;

to:

@Input() screenMode: screenStateEnum;
Robby Cornelissen
  • 91,784
  • 22
  • 134
  • 156