首页 > 解决方案 > 错误 TS2322:类型“数字”不可分配给角度类型“字符串”

问题描述

我正在将字符串转换为 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);
  });
}

标签: angular

解决方案


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

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

将其声明为

param = {  gender: null, ...} 

它会正常工作。


推荐阅读