TS2531: Object is possibly 'null'

前端 未结 4 1937

I have the following function:-

uploadPhoto() {
    var nativeElement: HTMLInputElement = this.fileInput.nativeElement;

    this.photoService.upload(this.ve         


        
4条回答
  •  既然无缘
    2020-12-11 00:35

    files is defined to be FileList | null so it can be null. You should either check for null (using a if) or use a not null assertion operator (!) if you are sure it is not null;

    if(nativeElement.files != null) {
        this.photoService.upload(this.vehicleId, nativeElement.files[0])
            .subscribe(x => console.log(x));
    }
    
    //OR
    this.photoService.upload(this.vehicleId, nativeElement.files![0])
        .subscribe(x => console.log(x));
    

    Note The not null assertion operator, will not perform any runtime checks, it just tells the compiler you have special information and you know nativeElement.files will not be null at runtime. If nativeElement.files is null at runtime, it will generate at error. This is not the safe navigation operator of other languages.

提交回复
热议问题