Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wanjj_1210
ant-design
提交
dfff7ef8
A
ant-design
项目概览
wanjj_1210
/
ant-design
与 Fork 源项目一致
从无法访问的项目Fork
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
ant-design
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dfff7ef8
编写于
8月 12, 2015
作者:
A
afc163
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix sort and filter
上级
fb5632b6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
32 addition
and
11 deletion
+32
-11
components/table/filterMenu.jsx
components/table/filterMenu.jsx
+1
-1
components/table/index.jsx
components/table/index.jsx
+31
-10
未找到文件。
components/table/filterMenu.jsx
浏览文件 @
dfff7ef8
...
...
@@ -27,7 +27,7 @@ var FilterMenu = React.createClass({
handleClearFilters
()
{
this
.
setState
({
selectedKeys
:
[]
});
}
,
this
.
handleConfirm
);
},
handleConfirm
(){
this
.
props
.
confirmFilter
(
this
.
props
.
column
,
this
.
state
.
selectedKeys
);
...
...
components/table/index.jsx
浏览文件 @
dfff7ef8
...
...
@@ -15,10 +15,6 @@ function defaultResolve(data) {
return
data
||
[];
}
function
getColumnKey
(
col
,
index
)
{
return
col
.
key
||
col
.
dataIndex
||
index
;
}
class
DataSource
{
init
(
config
)
{
this
.
config
=
config
;
...
...
@@ -117,6 +113,19 @@ var AntTable = React.createClass({
let
sortColumn
=
this
.
state
.
sortColumn
;
let
sortOrder
=
this
.
state
.
sortOrder
;
let
sorter
;
// 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题
let
isSortColumn
=
this
.
isSortColumn
(
column
);
if
(
!
isSortColumn
)
{
// 当前列未排序
sortOrder
=
order
;
sortColumn
=
column
;
}
else
{
// 当前列已排序
if
(
sortOrder
===
order
)
{
// 切换为未排序状态
sortOrder
=
''
;
sortColumn
=
null
;
}
else
{
// 切换为排序状态
sortOrder
=
order
;
}
}
if
(
this
.
isLocalDataSource
())
{
sorter
=
function
()
{
let
result
=
column
.
sorter
.
apply
(
this
,
arguments
);
...
...
@@ -243,14 +252,23 @@ var AntTable = React.createClass({
return
this
.
isLocalDataSource
()
?
this
.
getLocalDataPaging
()
:
this
.
state
.
data
;
},
getColumnKey
(
column
)
{
return
column
.
key
||
column
.
dataIndex
;
getColumnKey
(
column
,
index
)
{
return
column
.
key
||
column
.
dataIndex
||
index
;
},
isSortColumn
(
column
)
{
if
(
!
column
||
!
this
.
state
.
sortColumn
)
{
return
false
;
}
let
colKey
=
this
.
getColumnKey
(
column
);
let
isSortColumn
=
(
this
.
getColumnKey
(
this
.
state
.
sortColumn
)
===
colKey
);
return
isSortColumn
;
},
renderColumnsDropdown
(
columns
)
{
return
columns
.
map
((
column
,
i
)
=>
{
column
=
objectAssign
({},
column
);
let
key
=
this
.
getColumnKey
(
column
);
let
key
=
this
.
getColumnKey
(
column
,
i
);
let
filterDropdown
,
menus
,
sortButton
;
if
(
column
.
filters
&&
column
.
filters
.
length
>
0
)
{
let
colFilters
=
this
.
state
.
filters
[
key
]
||
[];
...
...
@@ -267,11 +285,14 @@ var AntTable = React.createClass({
</
Dropdown
>;
}
if
(
column
.
sorter
)
{
var
colKey
=
getColumnKey
(
column
,
i
);
let
isSortColumn
=
(
getColumnKey
(
this
.
state
.
sortColumn
,
i
)
===
colKey
);
let
isSortColumn
=
this
.
isSortColumn
(
column
);
if
(
isSortColumn
)
{
column
.
className
=
column
.
className
||
''
;
column
.
className
+=
'
ant-table-column-sort
'
;
if
(
this
.
state
.
sortOrder
)
{
column
.
className
+=
'
ant-table-column-sort
'
;
}
else
{
column
.
className
=
column
.
className
.
replace
(
'
ant-table-column-sort
'
,
''
);
}
}
sortButton
=
<
div
className
=
"ant-table-column-sorter"
>
<
span
className
=
{
'
ant-table-column-sorter-up
'
+
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录