2017-06-30 19 views
0

ソート可能な状況があります.Plunkerで複製できないようです。ソート可能なパフォーマンス

私が知ることから、Sortableは変更検出の何かのために多くの速度を落とします。ゆっくりと使えなくなってしまう。視覚的には、最初のアニメーションを見ることができますが、変化の検出がゆっくりと終了すると、ゆっくりとリフレッシュされます。

ここに私のコードにあるものを模倣したプランカがあります。 http://plnkr.co/edit/veH2Y6CkFZ1Dc5jwcPWZ?p=preview

<kendo-sortable [data]="columns" 
       zone="abcdefg" 
       [animation]="true" 
       [activeIndex]="activeIndex" 
       itemClass="item" 
       emptyItemClass="emptyItem" 
       activeItemClass="activeItem item"> 
    <ng-template let-column="item"> 
    <div class="container" (click)="itemClick(column)"> 
     <span class="col-name"> 
      {{column.title || column.field}} 
     </span> 
     <span class="col-width">{{column.width}}</span> 
    </div> 
    </ng-template> 
</kendo-sortable> 

基本的にダイアログが、私は、文字列の中に、テンプレートやコンポーネントを供給し、再利用可能なコンポーネントに包まれています。 SortableThingComponentのInputに入る "columns"配列は、剣道グリッドからの配列(すべての新しいColumnオブジェクト)のコピーです。

私はスローダウンを再現できないので、何が起こっているのか分かりません。誰かが何かを見たり、Sortableについて何かおしゃべりをしていますか?

編集

ここでグリッドを含ん更新plunkerです。グリッドにデータがないと、Sortableが速くなることに気付きました。作業可能ですが、まだ少し遅いです。グリッドは、仮想スクロール、ページサイズ100

http://plnkr.co/edit/hw8HaKpyZ0lRlVwF2tYp?p=preview

編集データと最後plunker更新2

です。今私は問題をrepro'ingです。 これについて何ができるのですか?

+0

ちょっと古い – ZrSiO4

答えて

0

これは現在の修正です。ソート可能とダイアログが開いている間グリッド・コンポーネントの変化検出器を取り外し:http://plnkr.co/edit/yy1Z4rWC53vS3xCnxrWT?p=preview

constructor(private changeDetectorRef: ChangeDetectorRef) { } 
this.changeDetectorRef.detach(); // when dialog opens 
this.changeDetectorRef.reattach(); // when dialog closes 

plunkerで、私はので、私は開いてる道の)(this.changeDetectorRef.detectChangesを追加する必要がありましたダイアログ。 現時点では、これはOKの回避策です。私は、変化検知戦略を使って少しでも効率を上げることができます。

関連する問題