ошибка TS2322: тип «число» нельзя назначить типу «строка» в angular - PullRequest
0 голосов
/ 21 апреля 2020

Я преобразовываю строку в число PHP переменная gender, но обнаружена ошибка:

ошибка TS2322: тип 'число' нельзя назначить типу 'строка' в angular

Код:

param = {
   id: '',
   username: '',
   fullName: '',
   gender: '',
   address: '',
   password: ''
};

saveUser(param: any) {
this.submitted = true;
if (this.UserForm.invalid) {
  return;
}
this.loading = true;
if (!this.ifEditUser) {
  this.param.gender = parseInt(this.param.gender, 10);
  this.userService.signinUser(param).subscribe((res: any) => {
    this.modal.close();
    switch (res.data) {
      case 1:
        this.toastr.error(res.message, 'Thông báo');
        break;
      case -2:
        this.toastr.warning(res.message, 'Thông báo');
        break;
      default:
        this.toastr.success(res.message, 'Thông báo');
    }

    this.resultTable._refreshDatasource(true, true);
  });
}

Ответы [ 2 ]

0 голосов
/ 21 апреля 2020

Ваш идентификатор определен как строка в params = {id = '', ...}. Но я думаю, что вы присваиваете ему номер. Отсюда ошибка

0 голосов
/ 21 апреля 2020

Проблема заключается в параметре obj, где вы объявили пол как строку, angular выдаст ошибку при назначении числа для типа строки.

param = {  gender: '', ...} 

объявите его как

param = {  gender: null, ...} 

все будет работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...