1

2列に基づいてデータテーブルをソートしたい。次のプロパティを使用すると、

{sortField: '列ヘッダー'}

動いていない。

4

2 に答える 2

1

現在のprimuiでは機能しません(この回答の時点ではです1.1)。ソート機能を見てください:

    sort: function(field, order) {
        if(this.options.selectionMode) {
            this.selection = [];
        }

        if(this.options.lazy) {
            this.options.datasource.call(this, this._onLazyLoad, this._createStateMeta());
        }
        else {
            this.data.sort(function(data1, data2) {
                var value1 = data1[field],
                value2 = data2[field],
                result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;

                return (order * result);
            });

            if(this.options.selectionMode) {
                this.selection = [];
            }

            if(this.paginator) {
                this.paginator.puipaginator('option', 'page', 0);
            }

            this._renderData();
        }
    },

ご覧のとおり、Array.prototype.sort()関数を使用し、field-to にアクセスします。

var value1 = data1[field],
value2 = data2[field],

おそらく、この特定の関数をオーバーライドして、sort代わりに独自のメソッドを使用できます。

于 2015-04-30T05:49:09.790 に答える