Angular2 Table Chrome 上的行组件显示在单列中
Angular2 Table Row component on Chrome displays in single column
正在使用的版本:
- Angular 2.0.1
- angular-cli 1.0.0-beta.17
我有一个分为 3 个部分的页面。页面大纲,一个 table,它有自己的布局,包括行,这些行之一包含一个行组件。
在 IE 中,table 显示正常,在 Chrome 中,组件行中的所有数据都出现在第一列中。
main.html
<form>
<div>Title Stuff etc.</div>
<table-component [qlineModel]="QuoteLineModel"></table-component>
<div>Other stuff</div>
</form>
table.html
<table>
<thead>
<tr>
<th>ColA</th>
<th>ColB</th>
<th>Option</th>
</tr>
</thead>
<tbody>
<row-component *ngFor="let qlines of qlineModel"
[qline]="qlines">
</row-component>
<tr>
<td>Tot A</td>
<td>Tot B</td>
<td>Tot Opt</td>
</tr>
</tbody>
</table>
row.html
<tr>
<td>{{qline.A}}</td>
<td>{{qline.B}}</td>
<td>{{qline.C}}</td>
</tr>
IE 给出了我期望的输出
Title Stuff etc
ColA | ColB | Col C
100 200 300
200 300 400
___________________
300 500 700
Other Stuff
但是,Chrome 给出了我不期望的输出
Title Stuff etc
ColA | ColB | Col C
100 200 300
200 300 400
_____ ______________
300 500 700
Other Stuff
我可以通过将 table 数据放入一个组件来解决这个问题,但是 a) 对我来说打败了对象 b) 我想潜在地打印 table ,所以理想情况下我想保留照原样。
我尝试了 但一直在获取 NgFor only supports Iterables such as arrays
感谢收到的任何帮助。
您不能在 <tbody>
中包含 <row-component>
,因为那不是 <tbody>
的有效子项。
你可以把RowComponent
的选择器改成[rowComponent]
然后像
一样使用
<tr rowComponent *ngFor="let qlines of qlineModel"
[qline]="qlines">
使用 选择器:'tr[row-component]' in RowComponent 将允许您呈现
<table>
<thead><!-- headers go here --></thead>
<tbody>
<tr row-component *ngFor="let qlines of qlineModel" [qline]="qlines"></tr>
</tbody>
</table>
这在 Chrome 和 IE 上都能正确呈现。
正在使用的版本:
- Angular 2.0.1
- angular-cli 1.0.0-beta.17
我有一个分为 3 个部分的页面。页面大纲,一个 table,它有自己的布局,包括行,这些行之一包含一个行组件。 在 IE 中,table 显示正常,在 Chrome 中,组件行中的所有数据都出现在第一列中。
main.html
<form>
<div>Title Stuff etc.</div>
<table-component [qlineModel]="QuoteLineModel"></table-component>
<div>Other stuff</div>
</form>
table.html
<table>
<thead>
<tr>
<th>ColA</th>
<th>ColB</th>
<th>Option</th>
</tr>
</thead>
<tbody>
<row-component *ngFor="let qlines of qlineModel"
[qline]="qlines">
</row-component>
<tr>
<td>Tot A</td>
<td>Tot B</td>
<td>Tot Opt</td>
</tr>
</tbody>
</table>
row.html
<tr>
<td>{{qline.A}}</td>
<td>{{qline.B}}</td>
<td>{{qline.C}}</td>
</tr>
IE 给出了我期望的输出
Title Stuff etc
ColA | ColB | Col C
100 200 300
200 300 400
___________________
300 500 700
Other Stuff
但是,Chrome 给出了我不期望的输出
Title Stuff etc
ColA | ColB | Col C
100 200 300
200 300 400
_____ ______________
300 500 700
Other Stuff
我可以通过将 table 数据放入一个组件来解决这个问题,但是 a) 对我来说打败了对象 b) 我想潜在地打印 table ,所以理想情况下我想保留照原样。
我尝试了
感谢收到的任何帮助。
您不能在 <tbody>
中包含 <row-component>
,因为那不是 <tbody>
的有效子项。
你可以把RowComponent
的选择器改成[rowComponent]
然后像
<tr rowComponent *ngFor="let qlines of qlineModel"
[qline]="qlines">
使用 选择器:'tr[row-component]' in RowComponent 将允许您呈现
<table>
<thead><!-- headers go here --></thead>
<tbody>
<tr row-component *ngFor="let qlines of qlineModel" [qline]="qlines"></tr>
</tbody>
</table>
这在 Chrome 和 IE 上都能正确呈现。