繁体   English   中英

错误 TS2322:类型“数字”不可分配给 angular 中的类型“字符串”

[英]error TS2322: Type 'number' is not assignable to type 'string' in angular

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

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

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

将其声明为

param = {  gender: null, ...} 

它会正常工作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM