Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
540423ec
提交
540423ec
authored
7月 08, 2021
作者:
无木
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(table): add `headerTop` slot
为表格添加`headerTop`插槽(表格头部的标题之上),以及相关演示 close: #881
上级
9cf070dd
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
59 行增加
和
19 行删除
+59
-19
CHANGELOG.zh_CN.md
CHANGELOG.zh_CN.md
+1
-0
TableHeader.vue
src/components/Table/src/components/TableHeader.vue
+21
-12
useTableHeader.ts
src/components/Table/src/hooks/useTableHeader.ts
+5
-0
FormTable.vue
src/views/demo/table/FormTable.vue
+30
-5
tableData.tsx
src/views/demo/table/tableData.tsx
+2
-2
没有找到文件。
CHANGELOG.zh_CN.md
浏览文件 @
540423ec
...
...
@@ -3,6 +3,7 @@
-
**Table**
-
修复滚动条样式问题
-
修复树形表格的带有展开图标的单元格的内容对齐问题
-
新增
`headerTop`
插槽
-
**AppSearch**
修复可能会搜索隐藏菜单的问题
-
**其它**
-
修复菜单默认折叠的配置不起作用的问题
...
...
src/components/Table/src/components/TableHeader.vue
浏览文件 @
540423ec
<
template
>
<slot
name=
"tableTitle"
v-if=
"$slots.tableTitle"
></slot>
<TableTitle
:helpMessage=
"titleHelpMessage"
:title=
"title"
v-if=
"!$slots.tableTitle && title"
/>
<div
:class=
"`$
{prefixCls}__toolbar`">
<slot
name=
"toolbar"
></slot>
<Divider
type=
"vertical"
v-if=
"$slots.toolbar && showTableSetting"
/>
<TableSetting
:setting=
"tableSetting"
v-if=
"showTableSetting"
@
columns-change=
"handleColumnChange"
/>
<div
style=
"width: 100%"
>
<div
v-if=
"$slots.headerTop"
style=
"margin: 5px"
>
<slot
name=
"headerTop"
></slot>
</div>
<div
style=
"width: 100%; display: flex"
>
<slot
name=
"tableTitle"
v-if=
"$slots.tableTitle"
></slot>
<TableTitle
:helpMessage=
"titleHelpMessage"
:title=
"title"
v-if=
"!$slots.tableTitle && title"
/>
<div
:class=
"`$
{prefixCls}__toolbar`">
<slot
name=
"toolbar"
></slot>
<Divider
type=
"vertical"
v-if=
"$slots.toolbar && showTableSetting"
/>
<TableSetting
:setting=
"tableSetting"
v-if=
"showTableSetting"
@
columns-change=
"handleColumnChange"
/>
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
...
...
src/components/Table/src/hooks/useTableHeader.ts
浏览文件 @
540423ec
...
...
@@ -41,6 +41,11 @@ export function useTableHeader(
tableTitle
:
()
=>
getSlot
(
slots
,
'tableTitle'
),
}
:
{}),
...(
slots
.
headerTop
?
{
headerTop
:
()
=>
getSlot
(
slots
,
'headerTop'
),
}
:
{}),
}
),
};
...
...
src/views/demo/table/FormTable.vue
浏览文件 @
540423ec
<
template
>
<BasicTable
@
register=
"registerTable"
>
<BasicTable
@
register=
"registerTable"
:rowSelection=
"
{ type: 'checkbox', selectedRowKeys: checkedKeys, onChange: onSelectChange }"
>
<template
#
form-custom
>
custom-slot
</
template
>
<
template
#
headerTop
>
<a-alert
type=
"info"
show-icon
>
<template
#
message
>
<template
v-if=
"checkedKeys.length > 0"
>
<span>
已选中
{{
checkedKeys
.
length
}}
条记录(可跨页)
</span>
<a-button
type=
"link"
@
click=
"checkedKeys = []"
size=
"small"
>
清空
</a-button>
</
template
>
<
template
v-else
>
<span>
未选中任何项目
</span>
</
template
>
</template>
</a-alert>
</template>
<
template
#
toolbar
>
<a-button
type=
"primary"
@
click=
"getFormValues"
>
获取表单数据
</a-button>
</
template
>
</BasicTable>
</template>
<
script
lang=
"ts"
>
import
{
defineComponent
}
from
'vue'
;
import
{
defineComponent
,
ref
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'/@/components/Table'
;
import
{
getBasicColumns
,
getFormConfig
}
from
'./tableData'
;
import
{
Alert
}
from
'ant-design-vue'
;
import
{
demoListApi
}
from
'/@/api/demo/table'
;
export
default
defineComponent
({
components
:
{
BasicTable
},
components
:
{
BasicTable
,
AAlert
:
Alert
},
setup
()
{
const
checkedKeys
=
ref
<
Array
<
string
|
number
>>
([]);
const
[
registerTable
,
{
getForm
}]
=
useTable
({
title
:
'开启搜索区域'
,
api
:
demoListApi
,
...
...
@@ -24,16 +41,24 @@
useSearchForm
:
true
,
formConfig
:
getFormConfig
(),
showTableSetting
:
true
,
rowSelection
:
{
type
:
'checkbox'
},
showIndexColumn
:
false
,
rowKey
:
'id'
,
});
function
getFormValues
()
{
console
.
log
(
getForm
().
getFieldsValue
());
}
function
onSelectChange
(
selectedRowKeys
:
(
string
|
number
)[])
{
console
.
log
(
selectedRowKeys
);
checkedKeys
.
value
=
selectedRowKeys
;
}
return
{
registerTable
,
getFormValues
,
checkedKeys
,
onSelectChange
,
};
},
});
...
...
src/views/demo/table/tableData.tsx
浏览文件 @
540423ec
...
...
@@ -31,13 +31,13 @@ export function getBasicColumns(): BasicColumn[] {
},
{
title
:
'开始时间'
,
width
:
1
2
0
,
width
:
1
5
0
,
sorter
:
true
,
dataIndex
:
'beginTime'
,
},
{
title
:
'结束时间'
,
width
:
1
2
0
,
width
:
1
5
0
,
sorter
:
true
,
dataIndex
:
'endTime'
,
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论