错误TS2322:类型“数字”不能分配给角类型的“字符串”

时间:2020-04-21 12:05:41

标签: angular

我正在将字符串转换为PHP变量gender的编号,但是遇到错误:

错误TS2322:类型“数字”不能分配给类型为“字符串”的 角形

代码:

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 :(得分:0)

问题出在参数obj中,其中您已将性别声明为字符串,在为字符串类型分配数字时,角度会引发错误。

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

将其声明为

param = {  gender: null, ...} 

它将正常工作。

答案 1 :(得分:0)

您的id被定义为params = {id ='',...}中的字符串。但是我认为您正在为其分配编号。因此错误