【问题标题】:Angular 6 build error Expected 0 arguments, but got 1 in formAngular 6 构建错误预期 0 个参数,但在形式上得到 1
【发布时间】:2019-08-02 08:16:07
【问题描述】:

我收到此错误:预期为 0 个参数,但得到 1 个,当我构建我的项目时,但在 ng-serve 上,项目是否正常?知道这可能是什么吗?错误指向:(ngSubmit)="onSubmit(serviceForm.value)"

我的 html 是:

<form class="form-horizontal" [formGroup]="serviceForm" (ngSubmit)="onSubmit(serviceForm.value)">
      <div class="form-group mb-8">
        <div class="col-3 col-sm-12">
          <label class="form-label" for="u_message_description">Please describe your issue:</label>
        </div>
        <div class="col-4 col-sm-12">
          <textarea class="form-input" id="u_message_description" placeholder="Describe your issue" rows="3"
            formControlName="u_message_description"></textarea>
          <h6 class="text-gray mt-2">The more information you can provide here, the easier time the organization will
            have in diagnosing and resolving your issue.</h6>
        </div>
      </div>

      <div class="columns col-12 col-sm-12">
        <div class="column col-10 col-sm-6 text-right">
          <button class="btn btn-link">Cancel</button>
        </div>
        <div class="column col-2 col-sm-6">
          <button class="btn btn-primary" [ngClass]="{'loading': uploading}" [disabled]="!serviceForm.valid" type="submit">Submit</button>
        </div>
      </div>
    </form>

Component.ts

import { Component, OnInit } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { FormGroup, FormControl } from '@angular/forms';
import { Validators } from '@angular/forms';
import { FormBuilder } from '@angular/forms';
import { Request } from '../../models/request.model'
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { AppComponent } from '../../../app.component';
import { nowService } from '../../services/servicenow.service';
import { HttpClient, HttpEventType, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';


@Component({
  selector: 'app-service-request',
  templateUrl: './service-request.component.html',
  styleUrls: ['./service-request.component.scss']
})
export class ServiceRequestComponent implements OnInit {


  public loading = false;

  public uploading: boolean;

  private customer_id = 7; /// this.appComponent.customer_id;

  serviceForm;

  constructor(private service: nowService,
    private appComponent: AppComponent,
    private router: Router,
    private http: HttpClient,
  ) {
  }

  ngOnInit() {
    this.serviceForm = new FormGroup({
      u_short_description: new FormControl('', Validators.compose([
        Validators.required,
        Validators.minLength(0),
        Validators.maxLength(80)
      ])),
      u_message_description: new FormControl(''),
    });
  }

   onSubmit() {
    if(this.serviceForm.invalid) {
       this.serviceForm.setErrors({ ...this.serviceForm.errors, 'required': true });
       return;
    }
    //this.loading = true;
    this.uploading = true;
    this.service.postFormData(this.serviceForm.value).subscribe((response: any) => {
      console.log(response);//On success response
      this.router.navigate(['/inc/confirmation'],{queryParams: {value: response.result[0].display_value}});
    }, (errorResponse: any) => {
      console.log(errorResponse); //On unsuccessful response
    });
    }
  }

service.ts

postFormData(payload) {
    return this.http.post(this.incidentApiUrl, payload, { headers: new HttpHeaders().set("Content-Type", "application/json") });
  }

【问题讨论】:

    标签: angular


    【解决方案1】:

    您的“onSubmit()”方法不需要任何参数。但是从您的 html 中,您可以使用一个参数来调用它:“onSubmit(serviceForm.value)

    我会从 html 中删除参数,只需使用 onSubmit()

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 2021-08-22
      • 2019-08-28
      • 2020-10-26
      • 2018-08-02
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多