Доброго времени суток!
В приложении на Angular 2 возникла проблема доступа к элементу DOM
в шаблоне и вызова его метода. В шаблоне использованы компоненты PrimeNG, необходимо из метода AppComponent
вызвать метод show
элемента OverlayPanel
. Код компонента.
export class AppComponent implements OnInit {
@ViewChild('gngOp') op;
............
onGNGKey(event){
let ch : number;
if (event.which == null) { // IE
ch = event.keyCode;
}
else{
if (event.which != 0 && event.charCode != 0) { // все кроме IE
ch = event.which;
}
}
if (ch === 13) { // окончание ввода
if (typeof this.GNG_kod === "number" ){ // ввели лексему или часть код а
this.getGNGfromKod(); }
else{
this.getGNGfromName(this.GNG_kod);
}
}
}
Фрагмент шаблона компонента:
<input type="text" pInputText size="6" [(ngModel)]="GNG_kod" (keypress)="onGNGKey($event)"/>
<input type="text" pInputText size="30" [(ngModel)]="GNG_name" />
<p-overlayPanel #gngOp id="qqq" [showCloseIcon]="true" [dismissable]="false" >
<p-dataTable [value]="GNGs" scrollable="true" scrollHeight="300px" scrollWidth="500px" selectionMode="single" [(selection)]="gngRow" (onRowSelect)="onGNGRowSelect($event); gngOp.hide();" >
<p-column field="kod" ></p-column>
<p-column field="name" ></p-column>
<p-column field="bh1" ></p-column>
</p-dataTable>
</p-overlayPanel>
Что я не так делаю? Как корректно в моей ситуации получить доступ к элементу OverlayPanel
и вызвать его метод show()
? Спасибо.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Почему после нажатия пропадает стиль для :hover ? - Как этого избежать ? Желательно объяснить как для "незнайки" ;)
В container добавляется 10 элементов с классом wrapper это норм, но как сделать так чтобы в wrapper добавлялся только один row? Заранее спасибо!