簡體   English   中英

可調節的trimRows無法正常工作

[英]Handsontable trimRows works incorrectly

隱藏和顯示handsontable中的某些行時,我遇到了一個非常討厭的問題。 非常簡化的場景,我需要根據某些業務條件隱藏和顯示行。

我為此使用trimRows和untrimRows,總體來說,它很好用,直到關閉列排序為止。 如果將其調整為打開狀態,則在調用untrim / trim方法並重新渲染網格之后,網格中將出現空行。

請參閱小提琴: http : //jsfiddle.net/n8ggsbob/13/

columnSorting: {
                    column: 0,
                    sortOrder: true
                }
    var fake = [1, 2, 3, 4, 5, 6, 7, 8, 10];
    hot.getPlugin('trimRows').untrimRows(fake);
    hot.getPlugin('trimRows').trimRows(fake);
    hot.render();

只需點擊“提交”按鈕,就會注意到出現了很多空行(或只是沒有將其刪除)

但是,如前所述,如果我刪除排序功能,效果很好: http : //jsfiddle.net/n8ggsbob/14/

var fake = [1, 2, 3, 4, 5, 6, 7, 8, 10];
hot.getPlugin('trimRows').untrimRows(fake);
hot.getPlugin('trimRows').trimRows(fake);
hot.render();

那些空行外觀唯一有用的方法是調用updateSettings方法,但隨后將重置排序: http : //jsfiddle.net/n8ggsbob/16/

    var fake = [1, 2, 3, 4, 5, 6, 7, 8, 10];
    hot.getPlugin('trimRows').untrimRows(fake);
    hot.getPlugin('trimRows').trimRows(fake);

    hot.updateSettings({});
    hot.render();

是否有人遇到過類似的問題,或者我只是想念一些東西?

非常感謝Alex

我不確定為什么您要先解開並在之后進行修整:

hot.getPlugin('trimRows').untrimRows(fake);
hot.getPlugin('trimRows').trimRows(fake);

但是無論如何,這就是造成您問題的原因。 在第一個示例中刪除untrimRows函數,您將看到問題將消失。

同樣,我不確定您要實現的目標,但是例如,如果您有兩個按鈕,一個按鈕用於隱藏,另一個按鈕用於再次顯示,則與sort函數沒有沖突: 示例已更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM