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:/
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot+Vue.js开发的一个小型电商系统源码(含前端+后端管理).zip
共911个文件
java:398个
xml:212个
vue:124个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 171 浏览量
2024-07-01
15:02:41
上传
评论
收藏 1.91MB ZIP 举报
温馨提示
基于SpringBoot+Vue.js开发的一个小型电商系统源码(含前端+后端管理).zip 基于SpringBoot+Vue.js开发的一个小型电商系统源码(含前端+后端管理).zip 基于SpringBoot+Vue.js开发的一个小型电商系统源码(含前端+后端管理).zip 基于SpringBoot+Vue.js开发的一个小型电商系统源码(含前端+后端管理).zip 【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【备注】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利!
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot+Vue.js开发的一个小型电商系统源码(含前端+后端管理).zip (911个子文件)
.browserslistrc 34B
iconfont.css 10KB
demo.css 8KB
.env.development 171B
.editorconfig 659B
.env 160B
iconfont.eot 10KB
demo_index.html 23KB
index.html 2KB
liteshop-web-api.iml 18KB
liteshop-admin-api.iml 18KB
liteshop-core.iml 17KB
liteshop-common.iml 6KB
liteshop-db.iml 5KB
lite_shop.iml 574B
lite_shop.iml 80B
MallOrderServiceImpl.java 50KB
MallGoodsSpuServiceImpl.java 43KB
MallCouponServiceImpl.java 21KB
MallCategoryServiceImpl.java 19KB
MallGoodsSkuServiceImpl.java 18KB
RedisService.java 17KB
AdminUserServiceImpl.java 16KB
MallCartItemServiceImpl.java 14KB
MallTopicServiceImpl.java 14KB
MallGoodsCommentServiceImpl.java 11KB
MemAddressServiceImpl.java 11KB
MemUserServiceImpl.java 11KB
AdminMenuServiceImpl.java 10KB
OrderController.java 10KB
MallOrder.java 9KB
MallGoodsController.java 9KB
MemberController.java 8KB
KdniaoExpressTrackServiceImpl.java 8KB
MallBrandServiceImpl.java 8KB
AdminUserController.java 8KB
ErrorCodeMsg.java 8KB
AdminResourceServiceImpl.java 7KB
MallGoodsAttrServiceImpl.java 7KB
AdminRoleServiceImpl.java 7KB
MallGoodsSpu.java 6KB
SearchServiceImpl.java 6KB
WebLogAspect.java 6KB
AdminRoleController.java 6KB
MallProductCategoryController.java 6KB
QiniuUpload.java 6KB
OrderController.java 5KB
ProductController.java 5KB
OrderDetailDto.java 5KB
MallCoupon.java 5KB
MallOrderGoods.java 5KB
MemCollectServiceImpl.java 5KB
EsGoodsServiceImpl.java 5KB
JWTTokenUtil.java 5KB
MemHistoryServiceImpl.java 5KB
GoodsFormDto.java 4KB
MallAftersale.java 4KB
WebSocketConfig.java 4KB
MallTopicController.java 4KB
MallBrandController.java 4KB
MemberController.java 4KB
MallTopic.java 4KB
MallGoodsCommentReplyServiceImpl.java 4KB
MallCategory.java 4KB
CartController.java 4KB
MallCartItem.java 4KB
MemUser.java 4KB
MallGoodsSpuDto.java 4KB
MemAddress.java 4KB
ChatRecord.java 4KB
AdminUser.java 4KB
WechatPayServiceImpl.java 4KB
MallGoodsComment.java 4KB
CouponController.java 4KB
CouponDto.java 4KB
MallGoodsSku.java 4KB
Result.java 3KB
DocumentGeneration.java 3KB
AdminUserDetailsServiceImpl.java 3KB
GenerateCode.java 3KB
OrderQueueConfig.java 3KB
OrderDetailVo.java 3KB
AdminMenu.java 3KB
AdminSecurityConfig.java 3KB
EsGoods.java 3KB
HomeController.java 3KB
TopicDto.java 3KB
JwtAuthenticationTokenFilter.java 3KB
AdminUserDetails.java 3KB
GoodsSkuDto.java 3KB
MessageVo.java 3KB
OrderBindingConfig.java 3KB
MallUserCoupon.java 3KB
LocalDateTimeFormatConfig.java 3KB
ChatRecordServiceImpl.java 3KB
ElasticsearchConfig.java 3KB
SysOrderConfig.java 3KB
SearchController.java 3KB
WebLog.java 3KB
MemOpinionServiceImpl.java 3KB
共 911 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
.whl
- 粉丝: 3960
- 资源: 4908
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 信捷PLC 7轴伺服插补联动 XD5-48T6-E PLC 做的7轴联动设备,具备牵引示教功能 用PLC做配方,喷涂机程序 包括PLC和触摸屏程序,中文详细注释
- Unity雨下到玻璃上的效果shader
- 设计电路1-模电Multisim仿真实验
- 基于双向长短期记忆网络(BILSTM)的数据分类预测 matlab代码,要求2019版本及以上
- 数据分析-77-CDNow网站用户消费行为分析(包含代码和数据)
- 开关电源,高频变压器磁芯参数对照表
- Halcon 多区域绘制与掩膜
- 台达eh3与台达变频器modbus rtu通讯程序 程序有注释 实现正反转,写入频率,读取频率,读取电压的功能 plc为台达eh3,触摸屏为dop-107bv,变频器为台达VFD-M
- flyway支持达梦数据库版本jar包
- 基于ssm的酒店预定管理系统的设计与实现【附源码】
- 最近电平接近 NLM 模块化多电平变器matlab simulink仿真模型
- MATLAB仿真MIMO通信系统V-BALST结构ZF检测算 法与MMSE检测算法 形式:程序 1、仿真V-BALST结构ZF检测算法性能,调制方式为QPSK 2、仿真V-BALST结构MMSE检测算
- WPF LiveCharts动态曲线(折线图)
- 微信小程序开发基础与实践指南
- 任务驱动型作文提分训练.doc
- 人版五年级(下册)语文课后习题答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功