From b487e67f45f4db3af2574c90554e1348f0861e2e Mon Sep 17 00:00:00 2001 From: gx2025f Date: Tue, 12 Jan 2021 09:56:54 +0800 Subject: [PATCH] fix: provide more parameters for getting multi-sort value --- demo/demolist/Demo0903.js | 4 +--- docs/api.md | 2 +- src/lib/sort.js | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/demo/demolist/Demo0903.js b/demo/demolist/Demo0903.js index b20b769..56ea189 100644 --- a/demo/demolist/Demo0903.js +++ b/demo/demolist/Demo0903.js @@ -57,9 +57,7 @@ const columns13 = [ width: 200, sumCol: true, sorter: (pre, after) => pre.e.value - after.e.value, - getMultiSorterValue: data => { - return data.value - }, + // getMultiSorterValue: (data, col) => {}, render: (text, data) => { return text.value } diff --git a/docs/api.md b/docs/api.md index 0f202d1..af7e660 100644 --- a/docs/api.md +++ b/docs/api.md @@ -128,7 +128,7 @@ import 'bee-table/build/Table.css'; |width|宽度的特定比例根据列的宽度计算|String/Number|-| |fixed| 当表水平滚动时,此列将被固定:true或'left'或'right'| true/'left'/'right'|-| |sorter|前端列排序方法,只要列上有此属性就说明这列可排序。**注:默认是前端排序,排序方法书写时注意有些字段的值可能是undefined的情况,需要转换成0**| function|-| -|getMultiSorterValue| 多列排序的时候,可以使用此方法得到单元格中显示的值,用来进行排序中的判断|Function(row)|-| +|getMultiSorterValue| 多列排序的时候,可以使用此方法得到单元格中显示的值,用来进行排序中的判断|Function(data, currentCol)|-| |sorterClick|排序的回调函数|function|-| |render|cell的render函数有三个参数:这个单元格的文本,这行的记录,这行的索引,它返回一个对象:{children:value,props:{colSpan:1,rowSpan:1}} ==>'children'是这个单元格的文本,props是这个单元格的一些设置,可以设置单元格行/列合并。2.2.48及以后版本新增第四个参数options为column设置的属性|-| |onCellClick|单击列的单元格时调用|Function(row, event)|-| diff --git a/src/lib/sort.js b/src/lib/sort.js index 5caf548..3068486 100644 --- a/src/lib/sort.js +++ b/src/lib/sort.js @@ -143,8 +143,8 @@ export default function sort(Table, Icon) { let preKey = pre[currentCol.key]; let afterKey = after[currentCol.key]; if (getMultiSorterValueFunc) { - preKey = getMultiSorterValueFunc(preKey) - afterKey = getMultiSorterValueFunc(afterKey) + preKey = getMultiSorterValueFunc(pre, currentCol) + afterKey = getMultiSorterValueFunc(after, currentCol) } let colSortFun = currentCol.sorter; if(typeof colSortFun !== 'function'){