Ember.js 如何在Ember中构建具有固定第一列和标题行的延迟加载表?
我正在尝试在Ember 2.0中使用以下内容构建一个表:Ember.js 如何在Ember中构建具有固定第一列和标题行的延迟加载表?,ember.js,ember-table,Ember.js,Ember Table,我正在尝试在Ember 2.0中使用以下内容构建一个表: 多达一百万行(因此我需要延迟渲染) 固定标题行 垂直滚动的固定第一列 垂直和水平滚动的内容列 这方面的一个很好的例子是本页的第一个表: 不幸的是,在ember 2.0+中,ember表存在性能问题,所以我试图找出如何使用ember集合推出自己的表 以下是我目前为止所做的一件事: 我使用了两个Ember集合—一个用于第一列,另一个用于可滚动内容 <div class='table-container'> <div
- 多达一百万行(因此我需要延迟渲染)
- 固定标题行
- 垂直滚动的固定第一列
- 垂直和水平滚动的内容列
<div class='table-container'>
<div class='header-container'>
<div class="column-headers" style="width: 1500px">
{{#each model.columnHeaders as |columnHeader|}}
<div class='table-cell'>
{{columnHeader}}
</div>
{{/each}}
</div>
</div>
{{#ember-collection
items=model.rowHeaders
classNames='fixed-column'
cell-layout=(fixed-grid-layout 1500 20)
scroll-top=scrollTop
scroll-change=(action 'scrollChange')
as |rowHeader|
}}
{{rowHeader}}
{{/ember-collection}}
{{#ember-collection
items=model.content
classNames='scrolling-content'
cell-layout=(fixed-grid-layout 1500 20)
scroll-top=scrollTop
scroll-left=scrollLeft
scroll-change=(action 'scrollChange')
as |item|
}}
{{#each item as |cell|}}
<div class='table-cell'>
{{cell}}
</div>
{{/each}}
{{/ember-collection}}
</div>
(编辑)被亨利的评论所回答——目标是错误的部门
我试着用CSS来做,但是
position:absolute
会使集合消失。我不知道如何定位它。我可以回答你第二个问题。您将滚动应用到错误的div。它应该是Ember.$('.header container')。scrollLeft(scrollLeft)代码>滚动的那个,不是它的内部。非常感谢!我更新了我的Twiddle和question以反映这一点。可以通过使用div和类似这样的类包装ember集合
s来解决标题与正文的重叠问题。表体{position:absolute;width:400px;height:500px;}
。
Ember.$('.column-headers').scrollLeft(scrollLeft);