Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
dce3fb0f
提交
dce3fb0f
authored
7月 24, 2021
作者:
无木
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(table): fix tableSettings popup in fullscreen mode
修复全屏模式下的表格设置组件的弹出层配置
上级
a5a9b3fb
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
36 行增加
和
11 行删除
+36
-11
ColumnSetting.vue
...omponents/Table/src/components/settings/ColumnSetting.vue
+20
-5
index.vue
src/components/Table/src/components/settings/index.vue
+16
-6
没有找到文件。
src/components/Table/src/components/settings/ColumnSetting.vue
浏览文件 @
dce3fb0f
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
trigger=
"click"
trigger=
"click"
@
visibleChange=
"handleVisibleChange"
@
visibleChange=
"handleVisibleChange"
:overlayClassName=
"`${prefixCls}__cloumn-list`"
:overlayClassName=
"`${prefixCls}__cloumn-list`"
:getPopupContainer=
"getPopupContainer"
>
>
<
template
#
title
>
<
template
#
title
>
<div
:class=
"`$
{prefixCls}__popover-title`">
<div
:class=
"`$
{prefixCls}__popover-title`">
...
@@ -47,7 +48,11 @@
...
@@ -47,7 +48,11 @@
{{
item
.
label
}}
{{
item
.
label
}}
</Checkbox>
</Checkbox>
<Tooltip
placement=
"bottomLeft"
:mouseLeaveDelay=
"0.4"
>
<Tooltip
placement=
"bottomLeft"
:mouseLeaveDelay=
"0.4"
:getPopupContainer=
"getPopupContainer"
>
<template
#
title
>
<template
#
title
>
{{
t
(
'component.table.settingFixedLeft'
)
}}
{{
t
(
'component.table.settingFixedLeft'
)
}}
</
template
>
</
template
>
...
@@ -64,7 +69,11 @@
...
@@ -64,7 +69,11 @@
/>
/>
</Tooltip>
</Tooltip>
<Divider
type=
"vertical"
/>
<Divider
type=
"vertical"
/>
<Tooltip
placement=
"bottomLeft"
:mouseLeaveDelay=
"0.4"
>
<Tooltip
placement=
"bottomLeft"
:mouseLeaveDelay=
"0.4"
:getPopupContainer=
"getPopupContainer"
>
<
template
#
title
>
<
template
#
title
>
{{
t
(
'component.table.settingFixedRight'
)
}}
{{
t
(
'component.table.settingFixedRight'
)
}}
</
template
>
</
template
>
...
@@ -109,8 +118,8 @@
...
@@ -109,8 +118,8 @@
import
{
useTableContext
}
from
'../../hooks/useTableContext'
;
import
{
useTableContext
}
from
'../../hooks/useTableContext'
;
import
{
useDesign
}
from
'/@/hooks/web/useDesign'
;
import
{
useDesign
}
from
'/@/hooks/web/useDesign'
;
import
{
useSortable
}
from
'/@/hooks/web/useSortable'
;
import
{
useSortable
}
from
'/@/hooks/web/useSortable'
;
import
{
isNullAndUnDef
}
from
'/@/utils/is'
;
import
{
is
Function
,
is
NullAndUnDef
}
from
'/@/utils/is'
;
import
{
getPopupContainer
}
from
'/@/utils'
;
import
{
getPopupContainer
as
getParentContainer
}
from
'/@/utils'
;
import
{
omit
}
from
'lodash-es'
;
import
{
omit
}
from
'lodash-es'
;
interface
State
{
interface
State
{
...
@@ -140,7 +149,7 @@
...
@@ -140,7 +149,7 @@
},
},
emits
:
[
'columns-change'
],
emits
:
[
'columns-change'
],
setup
(
_
,
{
emit
})
{
setup
(
_
,
{
emit
,
attrs
})
{
const
{
t
}
=
useI18n
();
const
{
t
}
=
useI18n
();
const
table
=
useTableContext
();
const
table
=
useTableContext
();
...
@@ -350,6 +359,12 @@
...
@@ -350,6 +359,12 @@
emit
(
'columns-change'
,
data
);
emit
(
'columns-change'
,
data
);
}
}
function
getPopupContainer
()
{
return
isFunction
(
attrs
.
getPopupContainer
)
?
attrs
.
getPopupContainer
()
:
getParentContainer
();
}
return
{
return
{
t
,
t
,
...
toRefs
(
state
),
...
toRefs
(
state
),
...
...
src/components/Table/src/components/settings/index.vue
浏览文件 @
dce3fb0f
<
template
>
<
template
>
<div
class=
"table-settings"
>
<div
class=
"table-settings"
>
<RedoSetting
v-if=
"getSetting.redo"
/>
<RedoSetting
v-if=
"getSetting.redo"
:getPopupContainer=
"getTableContainer"
/>
<SizeSetting
v-if=
"getSetting.size"
/>
<SizeSetting
v-if=
"getSetting.size"
:getPopupContainer=
"getTableContainer"
/>
<ColumnSetting
v-if=
"getSetting.setting"
@
columns-change=
"handleColumnChange"
/>
<ColumnSetting
<FullScreenSetting
v-if=
"getSetting.fullScreen"
/>
v-if=
"getSetting.setting"
@
columns-change=
"handleColumnChange"
:getPopupContainer=
"getTableContainer"
/>
<FullScreenSetting
v-if=
"getSetting.fullScreen"
:getPopupContainer=
"getTableContainer"
/>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
import
type
{
PropType
}
from
'vue'
;
import
type
{
PropType
}
from
'vue'
;
import
type
{
TableSetting
,
ColumnChangeParam
}
from
'../../types/table'
;
import
type
{
TableSetting
,
ColumnChangeParam
}
from
'../../types/table'
;
import
{
defineComponent
,
computed
}
from
'vue'
;
import
{
defineComponent
,
computed
,
unref
}
from
'vue'
;
import
ColumnSetting
from
'./ColumnSetting.vue'
;
import
ColumnSetting
from
'./ColumnSetting.vue'
;
import
SizeSetting
from
'./SizeSetting.vue'
;
import
SizeSetting
from
'./SizeSetting.vue'
;
import
RedoSetting
from
'./RedoSetting.vue'
;
import
RedoSetting
from
'./RedoSetting.vue'
;
import
FullScreenSetting
from
'./FullScreenSetting.vue'
;
import
FullScreenSetting
from
'./FullScreenSetting.vue'
;
import
{
useI18n
}
from
'/@/hooks/web/useI18n'
;
import
{
useI18n
}
from
'/@/hooks/web/useI18n'
;
import
{
useTableContext
}
from
'../../hooks/useTableContext'
;
export
default
defineComponent
({
export
default
defineComponent
({
name
:
'TableSetting'
,
name
:
'TableSetting'
,
...
@@ -33,6 +38,7 @@
...
@@ -33,6 +38,7 @@
emits
:
[
'columns-change'
],
emits
:
[
'columns-change'
],
setup
(
props
,
{
emit
})
{
setup
(
props
,
{
emit
})
{
const
{
t
}
=
useI18n
();
const
{
t
}
=
useI18n
();
const
table
=
useTableContext
();
const
getSetting
=
computed
(():
TableSetting
=>
{
const
getSetting
=
computed
(():
TableSetting
=>
{
return
{
return
{
...
@@ -48,7 +54,11 @@
...
@@ -48,7 +54,11 @@
emit
(
'columns-change'
,
data
);
emit
(
'columns-change'
,
data
);
}
}
return
{
getSetting
,
t
,
handleColumnChange
};
function
getTableContainer
()
{
return
table
?
unref
(
table
.
wrapRef
)
:
document
.
body
;
}
return
{
getSetting
,
t
,
handleColumnChange
,
getTableContainer
};
},
},
});
});
</
script
>
</
script
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论