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:/
没有合适的资源?快使用搜索试试~ 我知道了~
基于Flink的数据流业务处理平台详细文档+全部资料.zip
共831个文件
java:498个
js:94个
vue:81个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 50 浏览量
2024-12-24
08:44:36
上传
评论
收藏 2.11MB ZIP 举报
温馨提示
【资源说明】 基于Flink的数据流业务处理平台详细文档+全部资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Flink的数据流业务处理平台详细文档+全部资料.zip (831个子文件)
dsp-console.bat 1KB
.browserslistrc 34B
loading.css 2KB
loading.css 307B
.env.development 65B
.editorconfig 661B
.env 64B
.gitattributes 26B
.gitignore 541B
.gitignore 214B
index.html 2KB
html_code_segment.html 2KB
loading.html 186B
favicon.ico 15KB
favicon.ico 15KB
PluginServiceImpl.java 45KB
FlowServiceImpl.java 26KB
FlinkOptionParser.java 23KB
ScheduleTaskServiceImpl.java 23KB
ApplicationDeployServiceImpl.java 20KB
DateUtils.java 18KB
ApplicationServiceImpl.java 17KB
CheckTool.java 16KB
SystemEnvManager.java 14KB
DspCli.java 14KB
ApplicationConfigVOTest.java 14KB
ReflectUtil.java 12KB
DspPluginManager.java 12KB
DataStreamSpliter.java 11KB
FlinkJobFlowEngine.java 11KB
ConsoleDataSourceConfig.java 11KB
RichOutputPlugin.java 11KB
DspJobFlowEngine.java 11KB
FlinkStandaloneJobDeployExecutor.java 10KB
OutputPluginContainr.java 10KB
AbstractConfig.java 10KB
AliBase64.java 10KB
ConfigServiceImpl.java 9KB
InputPluginContainer.java 9KB
ShiroConfig.java 9KB
HexHashUtil.java 8KB
DspUnresolvedDataCollector.java 8KB
PluginRegisterRunner.java 7KB
JobDeployExecutor.java 7KB
ApplicationDTO.java 7KB
ConsoleMyBatisPlusConfig.java 7KB
DataRecord.java 7KB
FileUtil.java 7KB
DefaultEngineSnapshot.java 7KB
DspConsoleApp.java 7KB
UserServiceImpl.java 7KB
JobConfigFactoryTest.java 6KB
ProcessPluginContainer.java 6KB
GlobalExceptionHandler.java 6KB
ReaderNodeSource.java 6KB
FlinkConfigs.java 6KB
WebConfig.java 6KB
CommonOptionParser.java 6KB
SnowflakeIdWorker.java 6KB
PluginRepo.java 6KB
PluginRuningContainer.java 6KB
DspConfigFactory.java 6KB
JobFlow.java 6KB
WriterNodeSink.java 6KB
WebUtil.java 6KB
EngineRunContext.java 6KB
ProcessNodeFunc.java 5KB
FlinkJobDeployExecutor.java 5KB
DspMetric.java 5KB
YamlUtils.java 5KB
ApplicationEvent.java 5KB
MockDataUtil.java 5KB
ApplicationEventListener.java 5KB
CommonUtil.java 5KB
DspResultStatus.java 5KB
Metronome.java 5KB
ApplicationDeployDTO.java 5KB
PermissionServiceImpl.java 5KB
PluginFactory.java 5KB
NodeConfig.java 5KB
ExampleInputPlugin.java 5KB
StartStandaloneApplicationEventTest.java 5KB
JobInfo.java 5KB
PluginMetaData.java 5KB
JsonUtil.java 5KB
MetricKey.java 5KB
DictController.java 4KB
MetricsServiceImpl.java 4KB
RichProcessPlugin.java 4KB
RichSplitPlugin.java 4KB
ApplicationState.java 4KB
UnresolvedDataCollectorFactory.java 4KB
FlinkCommander.java 4KB
RichInputPlugin.java 4KB
ConfigOption.java 4KB
ApplicationLogWebSocket.java 4KB
PluginConfig.java 4KB
FlowDTO.java 4KB
FlowController.java 4KB
DeployRunner.java 4KB
共 831 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
Yuki-^_^
- 粉丝: 3112
- 资源: 4587
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 精益算法交易引擎由QuantConnect Python C.zip
- 可扩展的可移植和分布式梯度增强GBDT GBRT或GBM库,适用于Python R Java Scala C和更多在单.zip
- 具有静态类型的Python库存根的集合.zip
- 可移植Python数据框架库.zip
- 快速异步和优雅的Python web框架.zip
- 跨平台 Python 异步聊天机器人框架 Asynchronous multiplatform chatbot fr.zip
- 跨平台库,用于Python中的进程和系统监控.zip
- 来自一位 Pythonista 的编程经验分享内容涵盖编码技巧最佳实践与思维模式等方面.zip
- 快速正确的Python JSON库支持datetimes和numpy数据类.zip
- (C语言版)扩展卡尔曼滤波器EKF的锂电池SoC计算仿真模型 容积卡尔曼滤波CKF进行锂电池SOC估计的C语言版本实现,包含定参和FFRLS两种情况,已在VS2019和Ubuntu 20.04.4版本
- 来自Python的浏览器交互式数据可视化.zip
- 离线语音识别API Android iOS树莓派和服务器与Python Java C和Node.zip
- 利用Python进行数据分析 第二版 2017 中文翻译笔记.zip
- 领先的本地Python SSHv2协议库.zip
- 灵活而强大的Python数据分析操作库,提供类似于R数据框架对象的标记数据结构,统计函数等等.zip
- 流行的机器学习算法的Python示例与交互式Jupyter演示和数学解释.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功