Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
sage-front-framework
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
郁骅焌
sage-front-framework
Commits
a32487cf
提交
a32487cf
authored
7月 06, 2020
作者:
郁骅焌
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
列设置
上级
01a36087
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
59 行增加
和
34 行删除
+59
-34
index.jsx
src/components/Common/Table/index.jsx
+32
-2
index.jsx
...nents/Common/TableTool/components/ColumnSetting/index.jsx
+16
-29
index.jsx
src/components/Common/TableTool/index.jsx
+9
-2
index.jsx
src/pages/demo/crud/index.jsx
+2
-1
没有找到文件。
src/components/Common/Table/index.jsx
浏览文件 @
a32487cf
...
@@ -46,8 +46,10 @@ const SageTable = React.forwardRef((props, ref) => {
...
@@ -46,8 +46,10 @@ const SageTable = React.forwardRef((props, ref) => {
// 列设置
// 列设置
const
[
columns
,
setColumns
]
=
useState
([]);
const
[
columns
,
setColumns
]
=
useState
([]);
// 隐藏列设置
const
[
allColumns
,
setAllColumns
]
=
useState
([]);
const
[
allColumns
,
setAllColumns
]
=
useState
([]);
// 默认隐藏列设置
const
[
defaultColumnIndex
,
setDefaultColumnIndex
]
=
useState
([]);
const
{
const
{
request
,
request
,
...
@@ -216,6 +218,7 @@ const SageTable = React.forwardRef((props, ref) => {
...
@@ -216,6 +218,7 @@ const SageTable = React.forwardRef((props, ref) => {
const
tableToolProps
=
{
const
tableToolProps
=
{
toolBarRender
:
toolBarRenderProps
,
toolBarRender
:
toolBarRenderProps
,
toolOptionConfig
:
toolOptionConfigProps
,
toolOptionConfig
:
toolOptionConfigProps
,
// 勾选隐藏列
onChangeColumnsHidden
:
(
key
,
checked
)
=>
{
onChangeColumnsHidden
:
(
key
,
checked
)
=>
{
const
columnsTemp
=
allColumns
.
slice
();
const
columnsTemp
=
allColumns
.
slice
();
for
(
let
i
=
0
;
i
<
columnsTemp
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
columnsTemp
.
length
;
i
++
)
{
...
@@ -226,6 +229,25 @@ const SageTable = React.forwardRef((props, ref) => {
...
@@ -226,6 +229,25 @@ const SageTable = React.forwardRef((props, ref) => {
}
}
setAllColumns
(
columnsTemp
);
setAllColumns
(
columnsTemp
);
},
},
// 勾选取消全部列
onChangeAllColumns
:
(
boolean
)
=>
{
const
columnsTemp
=
allColumns
.
slice
();
columnsTemp
.
forEach
(
item
=>
{
item
.
hidden
=
!
boolean
})
setAllColumns
(
columnsTemp
);
},
// 重置列
onResetColumns
:
()
=>
{
const
columnsTemp
=
allColumns
.
slice
();
columnsTemp
.
forEach
(
item
=>
{
item
.
hidden
=
false
})
defaultColumnIndex
.
forEach
(
item
=>
{
columnsTemp
[
item
].
hidden
=
true
})
setAllColumns
(
columnsTemp
);
},
// 刷新表格
// 刷新表格
onRefreshTable
:
()
=>
{
onRefreshTable
:
()
=>
{
queryTable
(
tableState
.
searchParams
);
queryTable
(
tableState
.
searchParams
);
...
@@ -282,7 +304,15 @@ const SageTable = React.forwardRef((props, ref) => {
...
@@ -282,7 +304,15 @@ const SageTable = React.forwardRef((props, ref) => {
useEffect
(()
=>
{
useEffect
(()
=>
{
queryTable
();
queryTable
();
setAllColumns
(
columnsProps
?
columnsProps
.
slice
()
:
[]);
const
columnsTemp
=
columnsProps
?
columnsProps
.
slice
()
:
[]
const
hiddenIndex
=
[]
columnsTemp
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
hidden
)
{
hiddenIndex
.
push
(
index
)
}
})
setDefaultColumnIndex
(
hiddenIndex
);
setAllColumns
(
columnsTemp
);
},
[]);
},
[]);
const
tableSearchFormProps
=
{
const
tableSearchFormProps
=
{
...
...
src/components/Common/TableTool/components/ColumnSetting/index.jsx
浏览文件 @
a32487cf
...
@@ -4,7 +4,6 @@ import { Popover, Tooltip, Checkbox } from 'antd';
...
@@ -4,7 +4,6 @@ import { Popover, Tooltip, Checkbox } from 'antd';
import
'./style.less'
import
'./style.less'
const
CheckboxGroup
=
Checkbox
.
Group
;
const
ColumnSetting
=
(
props
)
=>
{
const
ColumnSetting
=
(
props
)
=>
{
...
@@ -13,22 +12,28 @@ const ColumnSetting = (props) => {
...
@@ -13,22 +12,28 @@ const ColumnSetting = (props) => {
const
[
indeterminate
,
setIndeterminate
]
=
useState
(
true
)
const
[
indeterminate
,
setIndeterminate
]
=
useState
(
true
)
const
[
checkAll
,
setCheckAll
]
=
useState
(
false
)
const
[
checkAll
,
setCheckAll
]
=
useState
(
false
)
const
onChange
=
_checkedList
=>
{
const
setAllSelectAction
=
boolean
=>
{
setCheckedList
(
_checkedList
)
props
.
onChangeAllColumns
(
boolean
)
setIndeterminate
(
!!
_checkedList
.
length
&&
_checkedList
.
length
<
plainOptions
.
length
)
}
setCheckAll
(
_checkedList
.
length
===
plainOptions
.
length
)
};
useEffect
(()
=>
{
useEffect
(()
=>
{
const
allOptions
=
[]
const
allOptions
=
[]
console
.
log
(
props
.
columns
)
const
selectedArr
=
[]
const
unselectedArr
=
[]
props
.
columns
&&
props
.
columns
.
map
(
item
=>
{
props
.
columns
&&
props
.
columns
.
map
(
item
=>
{
allOptions
.
push
({
allOptions
.
push
({
key
:
item
.
key
,
key
:
item
.
key
,
title
:
item
.
title
title
:
item
.
title
})
})
if
(
item
.
hidden
)
{
unselectedArr
.
push
(
item
)
}
else
{
selectedArr
.
push
(
item
)
}
})
})
setPlainOptions
(
allOptions
)
setPlainOptions
(
allOptions
)
setIndeterminate
(
selectedArr
.
length
!==
0
&&
unselectedArr
.
length
!==
0
)
setCheckAll
(
selectedArr
.
length
!==
0
&&
unselectedArr
.
length
===
0
)
},
[
props
.
columns
])
},
[
props
.
columns
])
const
content
=
(
const
content
=
(
...
@@ -44,20 +49,6 @@ const ColumnSetting = (props) => {
...
@@ -44,20 +49,6 @@ const ColumnSetting = (props) => {
}
else
{
}
else
{
props
.
onChangeColumnsHidden
(
item
.
key
,
false
)
props
.
onChangeColumnsHidden
(
item
.
key
,
false
)
}
}
// if (columnKey)
{
// const tempConfig = columnsMap[columnKey || ''] ||
{};
// const newSetting =
{
...
tempConfig
};
// if (e.target.checked)
{
// delete newSetting.show;
//
}
else
{
// newSetting.show = false;
//
}
// const columnKeyMap =
{
// ...columnsMap,
// [columnKey]: newSetting as ColumnsState,
//
};
// setColumnsMap(columnKeyMap);
//
}
}
}
}
}
checked=
{
!
item
.
hidden
}
checked=
{
!
item
.
hidden
}
>
>
...
@@ -77,21 +68,17 @@ const ColumnSetting = (props) => {
...
@@ -77,21 +68,17 @@ const ColumnSetting = (props) => {
title=
{
title=
{
<
div
className=
"sage-table-column-setting-title"
>
<
div
className=
"sage-table-column-setting-title"
>
<
Checkbox
<
Checkbox
//
indeterminate=
{
indeterminate
}
是否已选中
indeterminate=
{
indeterminate
}
是否已选中
// checked=
{
selectedKeys
.
length
===
0
&&
selectedKeys
.
length
!==
localColumns
.
length
}
checked=
{
checkAll
}
onChange=
{
(
e
)
=>
{
onChange=
{
(
e
)
=>
{
if
(
e
.
target
.
checked
)
{
setAllSelectAction
(
e
.
target
.
checked
);
// setAllSelectAction();
}
else
{
// setAllSelectAction(false);
}
}
}
}
}
>
>
列展示
列展示
</
Checkbox
>
</
Checkbox
>
<
a
<
a
onClick=
{
()
=>
{
onClick=
{
()
=>
{
console
.
log
(
'重置'
)
props
.
onResetColumns
(
)
}
}
}
}
>
>
重置
重置
...
...
src/components/Common/TableTool/index.jsx
浏览文件 @
a32487cf
...
@@ -23,9 +23,11 @@ const SageTableTool = (props) => {
...
@@ -23,9 +23,11 @@ const SageTableTool = (props) => {
onChangeSize
,
onChangeSize
,
onHiddeSearch
,
onHiddeSearch
,
onChangeColumnsHidden
,
onChangeColumnsHidden
,
onChangeAllColumns
,
onResetColumns
,
setFull
,
setFull
,
exitFull
,
exitFull
,
columns
columns
,
}
=
props
}
=
props
// 控制工具按钮显示
// 控制工具按钮显示
...
@@ -78,7 +80,12 @@ const SageTableTool = (props) => {
...
@@ -78,7 +80,12 @@ const SageTableTool = (props) => {
eachDom
=
(
eachDom
=
(
<
span
className=
"sage-table-toolbar-item"
key=
{
`sage-table-toolbar-item-${item}`
}
>
<
span
className=
"sage-table-toolbar-item"
key=
{
`sage-table-toolbar-item-${item}`
}
>
<
Tooltip
title=
"列设置"
>
<
Tooltip
title=
"列设置"
>
<
ColumnSetting
onChangeColumnsHidden=
{
onChangeColumnsHidden
}
columns=
{
columns
}
/>
<
ColumnSetting
onChangeColumnsHidden=
{
onChangeColumnsHidden
}
onChangeAllColumns=
{
onChangeAllColumns
}
onResetColumns=
{
onResetColumns
}
columns=
{
columns
}
/>
</
Tooltip
>
</
Tooltip
>
</
span
>
</
span
>
)
)
...
...
src/pages/demo/crud/index.jsx
浏览文件 @
a32487cf
...
@@ -218,7 +218,8 @@ const CrudList = () => {
...
@@ -218,7 +218,8 @@ const CrudList = () => {
key
:
'field2'
,
key
:
'field2'
,
width
:
200
,
width
:
200
,
sortField
:
't1.field2'
,
sortField
:
't1.field2'
,
sorter
:
true
sorter
:
true
,
hidden
:
true
},
},
{
{
title
:
'字段3'
,
title
:
'字段3'
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论