Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
sage-front-framework
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
郁骅焌
sage-front-framework
Commits
01a36087
提交
01a36087
authored
7月 06, 2020
作者:
郁骅焌
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tijiao
上级
c5229864
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
44 行增加
和
18 行删除
+44
-18
index.jsx
src/components/Common/Table/index.jsx
+34
-14
index.jsx
...nents/Common/TableTool/components/ColumnSetting/index.jsx
+8
-3
index.jsx
src/components/Common/TableTool/index.jsx
+2
-1
没有找到文件。
src/components/Common/Table/index.jsx
浏览文件 @
01a36087
...
...
@@ -44,6 +44,11 @@ const SageTable = React.forwardRef((props, ref) => {
// 展开keys
const
[
expandedRowKeys
,
setExpandedRowKeys
]
=
useState
([]);
// 列设置
const
[
columns
,
setColumns
]
=
useState
([]);
const
[
allColumns
,
setAllColumns
]
=
useState
([]);
const
{
request
,
hasNumber
=
false
,
...
...
@@ -211,6 +216,16 @@ const SageTable = React.forwardRef((props, ref) => {
const
tableToolProps
=
{
toolBarRender
:
toolBarRenderProps
,
toolOptionConfig
:
toolOptionConfigProps
,
onChangeColumnsHidden
:
(
key
,
checked
)
=>
{
const
columnsTemp
=
allColumns
.
slice
();
for
(
let
i
=
0
;
i
<
columnsTemp
.
length
;
i
++
)
{
if
(
columnsTemp
[
i
].
key
===
key
)
{
columnsTemp
[
i
].
hidden
=
!
checked
;
break
;
}
}
setAllColumns
(
columnsTemp
);
},
// 刷新表格
onRefreshTable
:
()
=>
{
queryTable
(
tableState
.
searchParams
);
...
...
@@ -231,10 +246,6 @@ const SageTable = React.forwardRef((props, ref) => {
exitFull
:
()
=>
exitFull
(),
};
useEffect
(()
=>
{
queryTable
();
},
[]);
const
tableSizeState
=
tableSizeProps
!==
undefined
?
tableSizeProps
:
tableSize
;
const
dataSourceState
=
dataSourceProps
!==
undefined
?
dataSourceProps
.
slice
()
:
tableState
.
dataSource
;
...
...
@@ -243,12 +254,12 @@ const SageTable = React.forwardRef((props, ref) => {
// 是否有序号
// const columnsState = columnsProps !== undefined ? columnsProps.slice() : [];
const
getLatestColumnsState
=
()
=>
{
let
columnsState
=
columnsProps
!==
undefined
?
columnsProps
.
slice
()
:
[];
// 处理列配置
useEffect
(()
=>
{
let
columnsTemp
=
allColumns
?
allColumns
.
slice
()
:
[];
if
(
hasNumber
)
{
columns
State
.
unshift
({
columns
Temp
.
unshift
({
title
:
'序号'
,
key
:
'serialNumber'
,
render
:
(
text
,
record
,
index
)
=>
{
let
serialNumber
=
0
;
if
(
paginationState
)
{
...
...
@@ -265,10 +276,14 @@ const SageTable = React.forwardRef((props, ref) => {
});
}
// 隐藏hidden属性列
columnsState
=
columnsState
.
filter
((
item
)
=>
!
item
.
hidden
);
return
columnsState
;
};
const
latestColumnsState
=
useMemo
(()
=>
getLatestColumnsState
(),
[
props
.
columns
,
tableState
]);
columnsTemp
=
columnsTemp
.
filter
((
item
)
=>
!
item
.
hidden
);
setColumns
(
columnsTemp
);
},
[
columnsProps
,
tableState
,
allColumns
]);
useEffect
(()
=>
{
queryTable
();
setAllColumns
(
columnsProps
?
columnsProps
.
slice
()
:
[]);
},
[]);
const
tableSearchFormProps
=
{
searchFields
:
searchFieldsProps
,
...
...
@@ -413,12 +428,17 @@ const SageTable = React.forwardRef((props, ref) => {
)
}
{
!
hiddeTool
?
(
<
TableTool
tableSize=
{
tableSizeState
}
isFullscreen=
{
isFullscreen
}
columns=
{
latestColumnsState
}
{
...
tableToolProps
}
/>
<
TableTool
tableSize=
{
tableSizeState
}
isFullscreen=
{
isFullscreen
}
columns=
{
allColumns
}
{
...
tableToolProps
}
/>
)
:
null
}
<
Table
size=
{
tableSizeState
}
columns=
{
latestColumnsState
}
columns=
{
columns
}
dataSource=
{
dataSourceState
}
pagination=
{
paginationState
}
loading=
{
loadingState
}
...
...
src/components/Common/TableTool/components/ColumnSetting/index.jsx
浏览文件 @
01a36087
...
...
@@ -29,16 +29,21 @@ const ColumnSetting = (props) => {
})
})
setPlainOptions
(
allOptions
)
},
[])
},
[
props
.
columns
])
const
content
=
(
<
div
className=
"sage-table-column-setting-list"
>
{
p
lainOptio
ns
.
map
((
item
,
index
)
=>
{
p
rops
.
colum
ns
.
map
((
item
,
index
)
=>
{
return
(
<
span
className=
"sage-table-column-setting-list-item"
key=
{
`columnKey_${item.key}`
}
>
<
Checkbox
onChange=
{
(
e
)
=>
{
if
(
e
.
target
.
checked
)
{
props
.
onChangeColumnsHidden
(
item
.
key
,
true
)
}
else
{
props
.
onChangeColumnsHidden
(
item
.
key
,
false
)
}
// if (columnKey)
{
// const tempConfig = columnsMap[columnKey || ''] ||
{};
// const newSetting =
{
...
tempConfig
};
...
...
@@ -54,7 +59,7 @@ const ColumnSetting = (props) => {
// setColumnsMap(columnKeyMap);
//
}
}
}
//checked=
{
config
.
show
!==
false
}
checked=
{
!
item
.
hidden
}
>
{
item
.
title
}
</
Checkbox
>
...
...
src/components/Common/TableTool/index.jsx
浏览文件 @
01a36087
...
...
@@ -22,6 +22,7 @@ const SageTableTool = (props) => {
onRefreshTable
,
onChangeSize
,
onHiddeSearch
,
onChangeColumnsHidden
,
setFull
,
exitFull
,
columns
...
...
@@ -77,7 +78,7 @@ const SageTableTool = (props) => {
eachDom
=
(
<
span
className=
"sage-table-toolbar-item"
key=
{
`sage-table-toolbar-item-${item}`
}
>
<
Tooltip
title=
"列设置"
>
<
ColumnSetting
columns=
{
columns
}
/>
<
ColumnSetting
onChangeColumnsHidden=
{
onChangeColumnsHidden
}
columns=
{
columns
}
/>
</
Tooltip
>
</
span
>
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论