Unverified Commit 448a4331 by Sendya

fix: table refresh(bool) reset pageNo = 1

parent 19f2b82c
......@@ -2,7 +2,7 @@ import T from 'ant-design-vue/es/table/Table'
import get from 'lodash.get'
export default {
data() {
data () {
return {
needTotalList: [],
......@@ -55,11 +55,12 @@ export default {
default: false
},
showPagination: {
type: String,
default: 'auto'
}
}),
watch: {
'localPagination.current'(val) {
'localPagination.current' (val) {
this.$router.push({
name: this.$route.name,
params: Object.assign({}, this.$route.params, {
......@@ -67,23 +68,23 @@ export default {
})
})
},
pageNum(val) {
pageNum (val) {
Object.assign(this.localPagination, {
current: val
})
},
pageSize(val) {
pageSize (val) {
Object.assign(this.localPagination, {
pageSize: val
})
},
showSizeChanger(val) {
showSizeChanger (val) {
Object.assign(this.localPagination, {
showSizeChanger: val
})
}
},
created() {
created () {
this.localPagination = ['auto', true].includes(this.showPagination) && Object.assign({}, this.localPagination, {
current: this.pageNum,
pageSize: this.pageSize,
......@@ -93,29 +94,38 @@ export default {
this.loadData()
},
methods: {
refresh() {
this.loadData()
/**
* 表格重新加载方法
* 如果参数为 true, 则强制刷新到第一页
* @param Boolean bool
*/
refresh(bool = false) {
this.loadData(bool ? { current: 1 }: {})
},
loadData(pagination, filters, sorter) {
/**
* 加载数据方法
* @param {Object} pagination 分页选项器
* @param {Object} filters 过滤条件
* @param {Object} sorter 排序条件
*/
loadData (pagination, filters, sorter) {
this.localLoading = true
var result = this.data(
Object.assign({
pageNo: (pagination && pagination.current) ||
this.localPagination.current,
pageSize: (pagination && pagination.pageSize) ||
this.localPagination.pageSize
},
(sorter && sorter.field && {
sortField: sorter.field
}) || {},
(sorter && sorter.order && {
sortOrder: sorter.order
}) || {}, {
...filters
}
)
)
var result = this.data(Object.assign({
pageNo: (pagination && pagination.current) ||
this.localPagination.current,
pageSize: (pagination && pagination.pageSize) ||
this.localPagination.pageSize
},
(sorter && sorter.field && {
sortField: sorter.field
}) || {},
(sorter && sorter.order && {
sortOrder: sorter.order
}) || {}, {
...filters
}
))
// 对接自己的通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data
if (result instanceof Promise) {
......@@ -143,7 +153,7 @@ export default {
})
}
},
initTotalList(columns) {
initTotalList (columns) {
const totalList = []
columns && columns instanceof Array && columns.forEach(column => {
if (column.needTotal) {
......@@ -160,7 +170,7 @@ export default {
* @param selectedRowKeys
* @param selectedRows
*/
updateSelect(selectedRowKeys, selectedRows) {
updateSelect (selectedRowKeys, selectedRows) {
this.selectedRows = selectedRows
const list = this.needTotalList
this.needTotalList = list.map(item => {
......@@ -223,7 +233,7 @@ export default {
}
},
render() {
render () {
const props = {}
const localKeys = Object.keys(this.$data)
const showAlert = (typeof this.alert === 'object' && this.alert !== null && this.alert.show) || this.alert
......
......@@ -49,7 +49,7 @@
</template>
<a-col :md="!advanced && 8 || 24" :sm="24">
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
<a-button type="primary" @click="$refs.table.refresh()">查询</a-button>
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px">
{{ advanced ? '收起' : '展开' }}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment