Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wanjj_1210
ant-design
提交
6d2dcc45
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,发现更多精彩内容 >>
提交
6d2dcc45
编写于
8月 27, 2015
作者:
A
afc163
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
allow dataSourse controlled by parent in local mode
上级
c799326e
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
99 addition
and
18 deletion
+99
-18
components/table/demo/local-data.md
components/table/demo/local-data.md
+82
-0
components/table/index.jsx
components/table/index.jsx
+17
-18
未找到文件。
components/table/demo/local-data.md
0 → 100644
浏览文件 @
6d2dcc45
# 外界控制数据
-
order: 11
由父元素控制自身数据展示。
---
````
jsx
var
Table
=
antd
.
Table
;
var
columns
=
[{
title
:
'
姓名
'
,
dataIndex
:
'
name
'
,
render
:
function
(
text
)
{
return
<
a
href
=
"javascript:;"
>
{
text
}
</
a
>;
}
},
{
title
:
'
年龄
'
,
dataIndex
:
'
age
'
},
{
title
:
'
住址
'
,
dataIndex
:
'
address
'
}];
var
data1
=
[{
name
:
'
胡彦斌
'
,
age
:
32
,
address
:
'
西湖区湖底公园1号
'
},
{
name
:
'
胡彦祖
'
,
age
:
42
,
address
:
'
西湖区湖底公园1号
'
},
{
name
:
'
李大嘴
'
,
age
:
32
,
address
:
'
西湖区湖底公园1号
'
}];
var
data2
=
[{
name
:
'
胡彦斌2
'
,
age
:
32
,
address
:
'
西湖区湖底公园2号
'
},
{
name
:
'
胡彦祖2
'
,
age
:
42
,
address
:
'
西湖区湖底公园2号
'
},
{
name
:
'
李大嘴2
'
,
age
:
32
,
address
:
'
西湖区湖底公园2号
'
}];
var
App
=
React
.
createClass
({
getInitialState
()
{
return
{
data
:
[]
};
},
handleClick1
()
{
this
.
setState
({
data
:
data1
});
},
handleClick2
()
{
this
.
setState
({
data
:
data2
});
},
render
()
{
return
<
div
>
<
Table
columns
=
{
columns
}
dataSource
=
{
this
.
state
.
data
}
/>
<
button
className
=
"ant-btn"
onClick
=
{
this
.
handleClick1
}
>
加载本地数据1
</
button
>
<
button
className
=
"ant-btn"
onClick
=
{
this
.
handleClick2
}
>
加载本地数据2
</
button
>
</
div
>;
}
})
React
.
render
(<
App
/>
,
document
.
getElementById
(
'
components-table-demo-local-data
'
));
````
components/table/index.jsx
浏览文件 @
6d2dcc45
...
...
@@ -42,8 +42,9 @@ var AntTable = React.createClass({
selectedRowKeys
:
[],
// only for remote
data
:
[],
dataSource
:
this
.
props
.
dataSource
,
filters
:
{},
loading
:
!
this
.
isLocalDataSource
()
,
loading
:
false
,
sortColumn
:
''
,
sortOrder
:
''
,
sorter
:
null
,
...
...
@@ -69,25 +70,23 @@ var AntTable = React.createClass({
},
componentWillReceiveProps
(
nextProps
)
{
let
newState
=
{};
if
((
'
pagination
'
in
nextProps
)
&&
nextProps
.
pagination
!==
false
)
{
this
.
setState
({
pagination
:
objectAssign
({},
this
.
state
.
pagination
,
nextProps
.
pagination
)
});
newState
.
pagination
=
objectAssign
({},
this
.
state
.
pagination
,
nextProps
.
pagination
);
}
if
(
!
this
.
isLocalDataSource
())
{
// 外界只有 dataSource 的变化会触发请请求
if
(
nextProps
.
dataSource
!==
this
.
props
.
dataSource
)
{
this
.
setState
(
{
// 外界只有 dataSource 的变化会触发新请求
if
(
'
dataSource
'
in
nextProps
&&
nextProps
.
dataSource
!==
this
.
props
.
dataSource
)
{
newState
=
{
selectedRowKeys
:
[],
dataSource
:
nextProps
.
dataSource
,
loading
:
true
},
this
.
fetch
);
}
};
}
if
(
nextProps
.
columns
!==
this
.
props
.
columns
)
{
this
.
setState
({
filters
:
{}
});
newState
.
filters
=
{};
}
this
.
setState
(
newState
,
this
.
fetch
);
},
hasPagination
(
pagination
)
{
...
...
@@ -98,11 +97,11 @@ var AntTable = React.createClass({
},
isLocalDataSource
()
{
return
Array
.
isArray
(
this
.
props
.
dataSource
);
return
Array
.
isArray
(
this
.
state
.
dataSource
);
},
getRemoteDataSource
()
{
return
this
.
props
.
dataSource
;
return
this
.
state
.
dataSource
;
},
toggleSortOrder
(
order
,
column
)
{
...
...
@@ -425,7 +424,7 @@ var AntTable = React.createClass({
getLocalData
()
{
let
state
=
this
.
state
;
let
data
=
this
.
props
.
dataSource
;
let
data
=
this
.
state
.
dataSource
;
// 排序
if
(
state
.
sortOrder
&&
state
.
sorter
)
{
data
=
data
.
sort
(
state
.
sorter
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录