该插件为分页列表的操作封装,使用方式如下:
```
//以element-ui为例
<template>
<div class="content">
<el-table :data="page.list">
<el-table-column label="姓名" prop="name"/>
<el-table-column label="年龄" prop="age"/>
...
</el-table>
<el-pagination
:total="page.total"
:page-size="page.pageSize"
:current-page.sync="page.pageNum"
@current-change="onPageNumChange"
@size-change="onPageSizeChange"/>
</div>
</template>
<script>
import JBoot from 'jboot-env'; //引入框架
import 'jboot-env/dist/loading.css'; //引入loading样式
export default JBoot.page({
data (){
return {
moduleName: 'test'
}
}
})
</script>
<style lang="scss">
...
</style>
```
**内置属性:**
| 名称 | 类型 | 默认值 | 必须主动声明| 描述|
| --- | --- | --- | --- |--- |
|queryMethod|string|queryByPage|是|查询列表数据时,要调用moduleName对应api中的哪一个方法。|
|deleteMethod|string|delete|是|删除列表数据时,调用moduleName对应api中的方法名称|
|batchDeleteMethod|string|无|否|批量删除列表数据时,调用moduleName对应api中的方法名称|
|conditionChanged|boolean|false|否|查询条件是否发生了变更,true为变更,false为无变更|
|createPageName|string|无|调用createPage时要显示声明,未声明则依次查找erditPageName、detailPageName,如果都未声明,则抛出异常。|新建页面的routerName|
|editPageName|string|无|调用editPage时要显示声明,未声明则依次查找createPageName、detailPageName,如果都未声明,则抛出异常。|编辑页面的routerName|
|detailPageName|string|无|调用detailPage时要显示声明,未声明则依次查找createPageName、editPageName,如果都未声明,则抛出异常。|详情页面的routerName|
|createDialogRef|string|createDialogRef|调用createDialog时要显示声明,未声明则依次查找editDialogRef、detailDialogRef,如果都未声明,则抛出异常。|新建弹框的ref标识|
|editDialogRef|string|无|调用editDialog时要显示声明,未声明则依次查找createDialogRef、detailDialogRef,如果都未声明,则抛出异常。|编辑弹框的ref标识|
|detailDialogRef|string|无|调用createDialog时要显示声明,未声明则依次查找createDialofRef、editDialogRef,如果都未声明,则抛出异常。|详情弹框的ref标识|
|page|{pageNum,pageSize,total,data}|{pageNum:1,pageSize: 15,total:0,data:[]}|否|分页数据对象|
|defaultQueryPageNum|string或number|1|否|分页查询时,默认传输的页码。|
|defaultQueryPageSize|string或number|15|否|分页查询时,默认传输的每页条目数。|
|deleteConfirmMessage|string|是否要删除该数据?|否|3.1.3674起新增!调用框架删除方法时,confirm的message内容。|
|deleteConfirmTitle|string|删除确认|否|3.1.3674起新增!调用框架删除方法时,confirm的title内容。|
**内置方法:**(编写顺序按照执行顺序排列)
| 名称 | 参数| 返回值|描述|
| --- | --- | --- | --- |
|getQueryPageCondition()|无|返回分页查询的参数,页码与每页条目数。|返回分页查询的参数,页码与每页条目数。|
|onPageNumChange(pageNum)|pageNum:number类型,页码|无|页码改变时的处理函数。|
|onPageSizeChange(pageSize)|pageSize:number类型,每页条目数|无|每页条目数改变时的处理函数。此时会将页码重置为1。|
|deleteHandler(item, afterQuery, ...params)|item:要删除的数据,该值可为单个对象或对象数组。afterQuery:删除完毕后是否执行查询,默认为true。params:需要传入的其他参数|无|删除列表数据,支持批量或单条删除。|
|deleteBefore(item,...params)|item:要删除的数据,该值可为单个对象或对象数组。params:数组类型,调用deleteHandler时传入参数大于两个时,其他的都会在params中|boolean|用来判断是否可以执行删除操作,返回true则继续执行删除操作,返回false则终止。|
|deleteAfter(item,...params)|item:要删除的数据,该值可为单个对象或对象数组。params:数组类型,调用deleteHandler时传入参数大于两个时,其他的都会在params中|无|删除完毕以后的hook。|
|getDialogRefIfDefault(ref)|ref:string类型,要获取的ref。|string / undefined|如果不存在则依次返回createDialofRef、editDialogRef、detailDialogRef中不为空值的一个。**注意:此方法为框架内部实现,非特殊情况不要重写此方法,以免造成未知错误!**|
|showCreate(params)|params:需要传入到弹框页面的参数|无|打开弹框页面,类型为创建,此时弹框页面内置属性readonly属性为false,可用此属性限制页面元素是否可被操作|
|showEdit(id, params)|id: string或number类型,要编辑的数据ID。params:传入弹框页面的其他参数|无|打开弹框页面,类型为编辑,同时根据ID查询该数据详情。此时弹框页面内置属性readonly属性为false,可用此属性限制页面元素是否可被操作|
|shwoDetail(id, params)|id:要查看的数据ID。params:传入弹框页面的其他参数|无|打开弹框页面,类型为查看,同时根据ID查询该数据详情。此时弹框页面内置属性readonly属性为true,可用此属性限制页面元素是否可被操作|
|getPageNameIfDefault(pageName)|pageName:stirng类型,获取需要的pageName|string / undefined|如果不存在则依次返回createPageName、editPageName、detailPageName中不为空值的一个。**注意:此方法为框架内部实现,非特殊情况不要重写此方法,以免造成未知错误!**|
|toCreate(params)|params:需要传递到跳转后页面的参数|无|跳转到pageName对应的页面,类型为新建,此时跳转后页面内置属性readonly属性为false,可用此属性限制页面元素是否可被操作。|
|toEdit(id, params)|id:string或number类型,要编辑的数据ID。params:传入跳转后页面的其他参数|无|跳转页面,类型为编辑,同时根据ID查询该数据详情。此时跳转后页面内置属性readonly属性为false,可用此属性限制页面元素是否可被操作|
|toDetail(id, params)|id:string或number类型,要查看的数据ID。params:传入跳转后页面的其他参数|无|跳转页面,类型为查看,同时根据ID查询该数据详情。此时跳转后页面内置属性readonly属性为true,可用此属性限制页面元素是否可被操作|