Отключить кнопку премьер-нг на основе значения в локальном хранилище - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь включить / отключить кнопки на основе роли пользователя в локальном хранилище.

У меня есть значение в локальном хранилище, например: Ключ: Роль, Значение: "HR Admin"

Мой HTML выглядит следующим образом

  <button class="nav-link-btn" [routerLink]="['/dashboard']"  > Dashboard </button>
  <button  class="nav-link-btn" [routerLink]="['/admin/templates-dashboard']"  > Templates </button>

Мой файл TS выглядит следующим образом, и эта функция запускает onInit

  const userRole = localStorage.getItem('role');
  if(userRole === 'System Admin') {
    disabled() == false
  } else if (userRole === 'CAT Manager') {
    disabled() == false
  } else if (userRole === 'HR Admin') {
    disabled() == true
  } else {
    disabled() == false
  }

Есть идеи, как это сделать?

Ответы [ 2 ]

3 голосов
/ 18 апреля 2019

Используйте свойство [disabled] для включения или отключения кнопки на основе значения,

Ts Файл:

const userRole = localStorage.getItem('role');

HTML-файл:

<button class="nav-link-btn" [routerLink]="['/dashboard']" [disabled]="userRole === 'HR Admin'"> Dashboard </button>
2 голосов
/ 18 апреля 2019

Попробуйте, я надеюсь, что это сработает для вас.

 <button class="nav-link-btn" [routerLink]="['/dashboard']" [disabled]="buttonDisabled"> Dashboard </button>
 <button  class="nav-link-btn" [routerLink]="['/admin/templates-dashboard']" [disabled]="buttonDisabled"> Templates </button>

   const userRole = localStorage.getItem('role');
  if(userRole === 'System Admin') {
    this.buttonDisabled = false;
  } else if (userRole === 'CAT Manager') {
    this.buttonDisabled = false;
  } else if (userRole === 'HR Admin') {
    this.buttonDisabled = true;
  } else {
    this.buttonDisabled = false;
  }
...