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/table/'
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 组件都需要遵守这个返回结果定义的字段。)
修改 `../components/table/index.js` 第 132 行起
```javascript
result.then(r => {
this.localPagination = Object.assign({}, this.localPagination, {
current: r.pageNo, // 返回结果中的当前分页数
total: r.totalCount, // 返回结果中的总记录数
showSizeChanger: this.showSizeChanger,
pageSize: (pagination && pagination.pageSize) ||
this.localPagination.pageSize
})
// 为防止删除数据后导致页面当前页面数据长度为 0 ,自动翻页到上一页
if (r.data.length == 0 && this.localPagination.current != 1) {
this.localPagination.current--
this.loadData()
return
}
// 这里用于判断接口是否有返回 r.totalCount 或 this.showPagination = false
// 当情况满足时,表示数据不满足分页大小,关闭 table 分页功能
!r.totalCount && ['auto', false].includes(this.showPagination) && (this.localPagination = false)
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: 'Angular',
description: '希望是一个好东西,也许是最好的,好东西是不会消亡的',
status: 1,
updatedAt: '2018-07-26 00:00:00'
},
{
id: 3,
cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
title: 'Ant Design',
description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆',
status: 1,
updatedAt: '2018-07-26 00:00:00'
},
{
id: 4,
cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计&课设-基于springboot+mybatis的在线考试系统 .zip
共326个文件
java:83个
vue:74个
js:65个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 117 浏览量
2024-06-09
10:10:32
上传
评论
收藏 2.17MB ZIP 举报
温馨提示
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计&课设-基于springboot+mybatis的在线考试系统 .zip (326个子文件)
nginx.conf 982B
loading.css 2KB
loading.css 307B
.editorconfig 659B
.env 42B
.gitattributes 26B
.gitignore 278B
.gitignore 214B
.gitignore 46B
html_code_segment.html 2KB
index.html 2KB
loading.html 186B
ExamServiceImpl.java 30KB
ExamController.java 9KB
UserServiceImpl.java 7KB
FileUtils.java 5KB
FileTransUtil.java 5KB
UserController.java 4KB
LoginInterceptor.java 4KB
UploadDownloadController.java 3KB
ExamService.java 3KB
Swagger2Config.java 3KB
ExamVo.java 2KB
JwtUtils.java 2KB
Exam.java 2KB
QuestionVo.java 2KB
JsonData.java 2KB
Question.java 1KB
QuestionCreateVo.java 1KB
ExamRecord.java 1KB
User.java 1KB
ExamCreateVo.java 1KB
QuestionCreateSimplifyVo.java 1KB
UserService.java 1KB
CORSConf.java 1KB
RecordDetailVo.java 1KB
UserInfoVo.java 1KB
UserRepository.java 1KB
IntercepterConfig.java 1KB
QuestionPageVo.java 962B
UserVo.java 953B
QuestionDetailVo.java 953B
ExamPageVo.java 931B
QuestionSelectionVo.java 903B
ResultVOUtil.java 870B
ResultVO.java 865B
QuestionCategory.java 858B
ExamCardVo.java 848B
QuestionType.java 838B
ResultEnum.java 821B
QuestionLevel.java 812B
ExamQuestionTypeVo.java 803B
ExamQuestionSelectVo.java 793B
Role.java 763B
ExamRecordVo.java 762B
ExamRecordRepository.java 742B
ExamDetailVo.java 736B
QuestionOptionVo.java 732B
ExamException.java 731B
LoginQo.java 718B
RoleVo.java 702B
UploadModel2.java 696B
QuestionOptionCreateVo.java 694B
RoleEnum.java 688B
UploadModel.java 674B
PageVo.java 674B
QuestionEnum.java 661B
ExamRecordLevel.java 654B
Action.java 652B
Page.java 646B
ActionVo.java 634B
QuestionOption.java 624B
QuestionRepository.java 584B
RegisterDTO.java 554B
QuestionCategoryRepository.java 532B
ExamRecordLevelRepository.java 529B
ActionRepository.java 529B
QuestionOptionRepository.java 525B
PageRepository.java 523B
RoleRepository.java 523B
QuestionLevelRepository.java 523B
QuestionTypeRepository.java 520B
ExamRepository.java 495B
DownloadQo.java 462B
LoginTypeEnum.java 461B
ExamApplication.java 325B
package-info.java 298B
package-info.java 169B
package-info.java 142B
package-info.java 139B
package-info.java 138B
package-info.java 138B
package-info.java 137B
package-info.java 135B
package-info.java 135B
cover3.jpg 84KB
avatar2.jpg 78KB
cover2.jpg 77KB
cover1.jpg 54KB
cover5.jpg 35KB
共 326 条
- 1
- 2
- 3
- 4
资源评论
毕业小助手
- 粉丝: 2765
- 资源: 5583
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- chromedriver-linux64_117.0.5920.0.zip
- chromedriver-linux64_117.0.5922.0.zip
- chromedriver-linux64_117.0.5922.2.zip
- chromedriver-linux64_117.0.5923.0.zip
- chromedriver-linux64_117.0.5924.2.zip
- chromedriver-linux64_117.0.5925.0.zip
- chromedriver-linux64_117.0.5926.0.zip
- 机械设计板栗去皮机sw16可编辑全套技术资料100%好用.zip
- 提交给美国劳工部(DOL)的H1B签证申请中劳动条件申请(LCA)披露的全面记录,签证申请记录数据
- STM32F407 使用标准库和硬件SPI的方式读写SD卡
- 双极式控制直流可逆调速系统matlab仿真 控制良好,看图 双极式控制直流pwm-m可逆调速系统建模与仿真 (1)整流器采用两相桥臂,pwm驱动,spwm (2)采用双闭环控制,转速外环ASR与电
- 用数字电路软件实现2位的复用器
- mmc模块化多电平逆变器最近电平逼近23电平仿真 双闭环控制,电容电压平衡控制,环流抑制控制 简易模型,供学习参考
- 2023年江苏省中职网络搭建与应用技能大赛赛项技能要求详析
- 一个Python 爬虫程序实例,用于爬取豆瓣电影 Top250 的电影名称、评分和评价人数
- 基于Qt的ZUT百事通系统、数据结构课设,使用c++Qt完成、软件架构说明:C/S架构、安装教程 1. 将客户端zip文件解压,打开Qt构建 2. 服务端直接打开cmakelist
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功