War*_*ens 5 angular2-template angular
我想在 Angular 2 中制作一个 TableRowsComponent 来呈现多个表行。
我想在这样的模板中使用它:
<table class>
<tbody>
<table-rows *ngFor="#item of list" [someInput]="item"></table-rows>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
(因此“table-rows”将是此处 TableRowsComponent 的选择器)TableRowsComponent 的模板将类似于:
<tr>
<td> foo </td>
<td> bar </td>
</tr>
<tr *ngIf="something">
....
</tr>
<tr *ngFor="..">
...
</tr>
Run Code Online (Sandbox Code Playgroud)
如果我们这样做,那么结果如下所示:
<table class>
<tbody>
<table-rows>
<tr>
...
</tr>
<tr>
...
</tr>
</table-rows>
<table-rows>
<tr>
...
</tr>
<tr>
...
</tr>
</table-rows>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
不幸的是, < table-rows > 元素搞乱了表格的渲染。如何解决这个问题呢?有没有办法让 angular2 不渲染 < table-rows > 元素?
小智 0
import { Component, Input, OnChanges } from '@angular/core';
import { FormGroup, FormBuilder, NgForm, REACTIVE_FORM_DIRECTIVES, Validators } from '@angular/forms';
@Component({
selector: '[dependent-row]',
providers: [],
template: `
<tr [formGroup]="dependentForm">
<td>
<input type="text" formControlName="foo">
</td>
<td>
<input type="text" formControlName="bar">
</td>
</tr>
`,
directives: [REACTIVE_FORM_DIRECTIVES]
})
export class DependentRowComponent implements OnChanges {
@Input() dependent: any;
_Form: any;
constructor(fb: FormBuilder) {
this.dependentForm = fb.group({
foo: [''],
bar: [''],
})
}
ngOnChanges() {
this._Form.find('foo').updateValue(this.dependent.foo);
this._Form.find('bar').updateValue(this.dependent.bar);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4424 次 |
| 最近记录: |