Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 添加行时来自Priming p-datatable的事件_Angular_Datatable_Primeng - Fatal编程技术网

Angular 添加行时来自Priming p-datatable的事件

Angular 添加行时来自Priming p-datatable的事件,angular,datatable,primeng,Angular,Datatable,Primeng,我有一个p-datatable绑定到条目列表。我想把焦点放在新创建的、动态创建的行上;特别是在新行的输入上。但是怎么做呢 每当我向绑定的条目列表动态添加条目时,就会添加一个新的datatable行。很好。但我需要知道这是什么时候发生的,我需要访问新行以便设置焦点。我一直在寻找某种类型的onRowAdded事件,但是p-datatable似乎没有。如何避开这个问题 <p-dataTable [value]="entries"> . . . <p-column>

我有一个
p-datatable
绑定到条目列表。我想把焦点放在新创建的、动态创建的行上;特别是在新行的
输入上。但是怎么做呢

每当我向绑定的条目列表动态添加条目时,就会添加一个新的datatable行。很好。但我需要知道这是什么时候发生的,我需要访问新行以便设置焦点。我一直在寻找某种类型的
onRowAdded
事件,但是
p-datatable
似乎没有。如何避开这个问题

<p-dataTable [value]="entries">
   . . .
   <p-column>
      <ng-template let-item="rowData" pTemplate="body">
          <input type="time" [value]="item.StartTime"/>
   . . .

. . .
. . .

好的,所以我找到了一个独立于p-datatable的解决方案/解决方法

我在渲染行中的一个模板元素上设置了一个角度
QueryList
,并订阅对其所做的更改。通过这种方式,我可以访问新添加的行以设置焦点

因此,在html中:

<p-dataTable [value]="entries">
   <p-column">
      <ng-template let-item="rowData" pTemplate="body">
          <input #myInput />

@ViewChildren('myInput') startTimeInputList: QueryList<ElementRef>;
. . .
ngAfterViewInit() {
   this.startTimeInputList.changes.subscribe((p) => {
       this._renderer.invokeElementMethod(p.last.nativeElement, 'focus');
   });
}