аргумент типа read: typeof elementref не может быть назначен параметру типа свойство static отсутствует в типе

Я создал собственный фильтр даты в ag-angular-grid. Это компонент фильтра даты:

import { Component, ElementRef, ViewChild } from '@angular/core';

@Component({
  selector: 'app-loading-overlay',
  template: `
        <div #flatpickrEl class="ag-input-wrapper custom-date-filter" role="presentation">
            <input type='text' data-input />
            <a class='input-button' title='clear' data-clear>
                <i class='fa fa-times'></i>
            </a>
        </div>
    `,
})

export class CustomDateFilter {
  @ViewChild("flatpickrEl", { read: typeof ElementRef }) flatpickrEl: ElementRef;
.....
}

Ошибка в этом месте: { read: typeof ElementRef }

Ошибка:

A wrapper around a native element inside a View.

An ElementRef is backed by a render-specific element. In browser, this is usually a DOM element.

argument of type {read: 'string' | 'number' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'function' } is not assignable to parameter of type { read?: any static: boolean; } Property 'static' is missing in type {read: 'string' | 'number' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'function' }

person Robert    schedule 17.10.2019    source источник
comment
Что происходит при удалении {read: typeof ElementRef}?   -  person Damian C    schedule 17.10.2019


Ответы (1)


Начиная с Angular 8 вам необходимо указать свойство static в параметрах:

@ViewChild("flatpickrEl", { read: typeof ElementRef, static: true | false }) flatpickrEl: ElementRef;
person Ludevik    schedule 17.10.2019