# Table 重封装组件说明
## 封装说明
> 基础的使用方式与 API 与 [官方版(Table)](https://vuecomponent.github.io/ant-design-vue/components/table-cn/) 本一致,在其基础上,封装了加载数据的方法。
>
> 你无需在你是用表格的页面进行分页逻辑处理,仅需向 Table 组件传递绑定 `:data="Promise"` 对象即可
该 `table` 由 [@Saraka](https://github.com/saraka-tsukai) 完成封装
## 例子 1
(基础使用)
```vue
<template>
<s-table
ref="table"
size="default"
:rowKey="record => record.data.id"
:columns="columns"
:data="loadData"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
</s-table>
</template>
<script>
import STable from '@/components';
export default {
components: {
STable,
},
data() {
return {
columns: [
{
title: '规则编号',
dataIndex: 'no',
},
{
title: '描述',
dataIndex: 'description',
},
{
title: '服务调用次数',
dataIndex: 'callNo',
sorter: true,
needTotal: true,
customRender: text => text + ' 次',
},
{
title: '状态',
dataIndex: 'status',
needTotal: true,
},
{
title: '更新时间',
dataIndex: 'updatedAt',
sorter: true,
},
],
// 查询条件参数
queryParam: {},
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
return this.$http
.get('/service', {
params: Object.assign(parameter, this.queryParam),
})
.then(res => {
return res.result;
});
},
selectedRowKeys: [],
selectedRows: [],
};
},
methods: {
onSelectChange(selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys;
this.selectedRows = selectedRows;
},
},
};
</script>
```
## 例子 2
(简单的表格,最后一列是各种操作)
```vue
<template>
<s-table ref="table" size="default" :columns="columns" :data="loadData">
<span slot="action" slot-scope="text, record">
<a>编辑</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link"> 更多 <a-icon type="down" /> </a>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;">1st menu item</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;">2nd menu item</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;">3rd menu item</a>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</s-table>
</template>
<script>
import STable from '@/components/table/';
export default {
components: {
STable,
},
data() {
return {
columns: [
{
title: '规则编号',
dataIndex: 'no',
},
{
title: '描述',
dataIndex: 'description',
},
{
title: '服务调用次数',
dataIndex: 'callNo',
},
{
title: '状态',
dataIndex: 'status',
},
{
title: '更新时间',
dataIndex: 'updatedAt',
},
{
table: '操作',
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
},
],
// 查询条件参数
queryParam: {},
// 加载数据方法 必须为 Promise 对象
loadData: parameter => {
return this.$http
.get('/service', {
params: Object.assign(parameter, this.queryParam),
})
.then(res => {
return res.result;
});
},
};
},
methods: {
edit(row) {
// axios 发送数据到后端 修改数据成功后
// 调用 refresh() 重新加载列表数据
// 这里 setTimeout 模拟发起请求的网络延迟..
setTimeout(() => {
this.$refs.table.refresh(); // refresh() 不传参默认值 false 不刷新到分页第一页
}, 1500);
},
},
};
</script>
```
## 内置方法
通过 `this.$refs.table` 调用
`this.$refs.table.refresh(true)` 刷新列表 (用户新增/修改数据后,重载列表数据)
> 注意:要调用 `refresh(bool)` 需要给表格组件设定 `ref` 值
>
> `refresh()` 方法可以传一个 `bool` 值,当有传值 或值为 `true` 时,则刷新时会强制刷新到第一页(常用户页面 搜索 按钮进行搜索时,结果从第一页开始分页)
## 内置属性
> 除去 `a-table` 自带属性外,还而外提供了一些额外属性属性
| 属性 | 说明 | 类型 | 默认值 |
| -------------- | ----------------------------------------------- | ----------------- | ------ |
| alert | 设置是否显示表格信息栏 | [object, boolean] | null |
| showPagination | 显示分页选择器,可传 'auto' \| boolean | [string, boolean] | 'auto' |
| data | 加载数据方法 必须为 `Promise` 对象 **必须绑定** | Promise | - |
`alert` 属性对象:
```javascript
alert: {
show: Boolean,
clear: [Function, Boolean]
}
```
## 注意事项
> 你可能需要为了与后端提供的接口返回结果一致而去修改以下代码:
> (需要注意的是,这里的修改是全局性的,意味着整个项目所有使用该 table 组件都需要遵守这个返回结果定义的字段。)
>
> 文档中的结构有可能由于组件 bug 进行修正而改动。实际修改请以当时最新版本为准
修改 `@/components/table/index.js` 第 156 行起
```javascript
result.then(r => {
this.localPagination =
(this.showPagination &&
Object.assign({}, this.localPagination, {
current: r.pageNo, // 返回结果中的当前分页数
total: r.totalCount, // 返回结果中的总记录数
showSizeChanger: this.showSizeChanger,
pageSize: (pagination && pagination.pageSize) || this.localPagination.pageSize,
})) ||
false;
// 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
if (r.data.length === 0 && this.showPagination && this.localPagination.current > 1) {
this.localPagination.current--;
this.loadData();
return;
}
// 这里用于判断接口是否有返回 r.totalCount 且 this.showPagination = true 且 pageNo 和 pageSize 存在 且 totalCount 小于等于 pageNo * pageSize 的大小
// 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能
try {
if (['auto', true].includes(this.showPagination) && r.totalCount <= r.pageNo * this.localPagination.pageSize) {
this.localPagination.hideOnSinglePage = true;
}
} catch (e) {
this.localPagination = false;
}
console.log('loadData -> this.localPagination', this.localPagination);
this.localDataSource = r.data; // 返回结果中的数组数据
this.localLoading = false;
});
```
返回 JSON 例子:
```json
{
"message": "",
"result": {
"data": [
{
"id": 1,
"cover": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png",
"title": "Alipay",
"description": "那是一种内在的东西, 他们到达不了,也无法触及的",
"status": 1,
"updatedAt": "2018-07-26 00:00:00"
},
{
"id": 2,
"cover": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png",
"title":
没有合适的资源?快使用搜索试试~ 我知道了~
(源码)基于JHipster框架的权限管理系统.zip
共1569个文件
java:549个
ts:336个
vue:250个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 108 浏览量
2024-11-17
15:25:22
上传
评论
收藏 3.08MB ZIP 举报
温馨提示
# 基于JHipster框架的权限管理系统 ## 项目简介 本项目是一个基于JHipster框架的权限管理系统,旨在提供一个高效、灵活且易于扩展的应用程序开发平台。通过集成Spring Boot、Spring Security、JPA等技术,项目实现了用户管理、权限控制、数据持久化等核心功能。 ## 项目的主要特性和功能 1. 用户管理支持用户注册、登录、密码重置等功能,并提供详细的日志记录。 2. 权限控制通过Spring Security实现细粒度的权限控制,支持角色和权限的动态管理。 3. 数据持久化使用JPA进行数据持久化,支持多种数据库操作,包括CRUD操作和复杂查询。 4. 缓存管理集成Spring Cache,提高数据访问性能。 5. 日志记录通过SLF4J和Logback实现详细的日志记录,便于调试和监控。 6. API管理提供API权限管理功能,支持API的创建、更新、删除和查询。
资源推荐
资源详情
资源评论
收起资源包目录
(源码)基于JHipster框架的权限管理系统.zip (1569个子文件)
mvnw.cmd 7KB
demo.css 9KB
iconfont.css 7KB
loading.css 4KB
common_table_field.csv 37KB
common_table_relationship.csv 7KB
common_table.csv 6KB
view_permission.csv 4KB
administrative_division.csv 1KB
business_type.csv 755B
common_text_blob.csv 743B
common_ext_data.csv 733B
common_zoned_date_time.csv 679B
common_string.csv 668B
common_double.csv 598B
common_local_date.csv 575B
common_float.csv 564B
common_boolean.csv 556B
common_long.csv 553B
common_big_decimal.csv 548B
common_integer.csv 511B
gps_info.csv 405B
user.csv 388B
authority.csv 103B
authority_view_permission.csv 51B
user_authority.csv 37B
iconfont.eot 10KB
LogicExpr.g4 316B
throbber.gif 9KB
demo_index.html 33KB
index.html 6KB
index.html 3KB
error.html 2KB
404.html 1KB
passwordResetEmail.html 890B
activationEmail.html 883B
creationEmail.html 871B
testEmail.html 110B
favicon.ico 2KB
LogicExprLexer.interp 1KB
LogicExpr.interp 985B
CommonTableRelationshipResourceIT.java 115KB
CommonTableFieldResourceIT.java 94KB
CommonTableResourceIT.java 70KB
ViewPermissionResourceIT.java 68KB
AdministrativeDivisionResourceIT.java 65KB
UploadImageResourceIT.java 58KB
UploadFileResourceIT.java 53KB
StatisticsApiResourceIT.java 48KB
DepartmentResourceIT.java 45KB
OssConfigResourceIT.java 43KB
CommonConditionItemResourceIT.java 42KB
SmsConfigResourceIT.java 41KB
ApiPermissionResourceIT.java 40KB
CommonTableRelationshipQueryService.java 39KB
AccountResourceIT.java 36KB
DataDictionaryResourceIT.java 34KB
CommonTableFieldQueryService.java 34KB
CommonConditionQueryService.java 33KB
CommonTableQueryService.java 32KB
ViewPermissionQueryService.java 32KB
CommonConditionResourceIT.java 31KB
PositionResourceIT.java 31KB
ResourceCategoryResourceIT.java 30KB
AdministrativeDivisionQueryService.java 30KB
DepartmentQueryService.java 30KB
UploadImageQueryService.java 30KB
AuthorityResourceIT.java 30KB
CommonTableRelationshipCriteria.java 30KB
UploadFileQueryService.java 30KB
UReportFileResourceIT.java 29KB
BusinessTypeResourceIT.java 29KB
ApiPermissionQueryService.java 28KB
CommonConditionItemQueryService.java 28KB
GpsInfoResourceIT.java 28KB
ResourceCategoryQueryService.java 28KB
OssConfigQueryService.java 27KB
DataDictionaryQueryService.java 27KB
AuthorityQueryService.java 26KB
SmsConfigQueryService.java 26KB
UserResourceIT.java 26KB
GpsInfoQueryService.java 26KB
CommonExtDataQueryService.java 26KB
UserService.java 26KB
AdministrativeDivisionResource.java 25KB
SmsConfigResource.java 25KB
CommonTableFieldCriteria.java 25KB
StatisticsApiQueryService.java 25KB
CommonBigDecimalQueryService.java 25KB
CommonStringQueryService.java 25KB
CommonFloatQueryService.java 25KB
CommonZonedDateTimeQueryService.java 25KB
CommonIntegerQueryService.java 25KB
BusinessTypeQueryService.java 25KB
CommonLongQueryService.java 25KB
CommonDoubleQueryService.java 25KB
CommonLocalDateQueryService.java 24KB
PositionQueryService.java 24KB
CommonTextBlobQueryService.java 24KB
CommonBooleanQueryService.java 24KB
共 1569 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
资源评论
t0_54coder
- 粉丝: 2408
- 资源: 3444
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功