fix: 🐛 scTable dataChanged

This commit is contained in:
tk 2024-12-23 11:52:19 +08:00 committed by nsnail
parent 81ac00d1f1
commit 52e7f93cc2

View File

@ -325,8 +325,7 @@ export default {
} }
// //
if (this.queryApi) { if (this.queryApi) {
const res = await this.getData() await this.getData()
this.$emit('dataChange', res, this.tableData)
} else if (this.data) { } else if (this.data) {
this.tableData = this.data this.tableData = this.data
this.total = this.tableData.length this.total = this.tableData.length
@ -460,44 +459,48 @@ export default {
}, },
// //
async getData() { async getData() {
this.loading = true const ret = await (async () => {
this.loading = true
let res let res
let response let response
try { try {
const reqData = this.getQueryParams() const reqData = this.getQueryParams()
if (!this.beforePost || this.beforePost(reqData)) res = await this.queryApi.post(reqData) if (!this.beforePost || this.beforePost(reqData)) res = await this.queryApi.post(reqData)
} catch (error) { } catch (error) {
this._clearData() this._clearData()
this.loading = false this.loading = false
this.emptyText = error.statusText this.emptyText = error.statusText
return false return false
}
try {
response = config.parseData(res)
} catch (error) {
this._clearData()
this.loading = false
this.emptyText = '数据格式错误'
return false
}
if (response.code !== config.successCode) {
this._clearData()
this.loading = false
this.emptyText = response.msg
} else {
this.emptyText = '暂无数据'
if (this.hidePagination) {
this.tableData = response.data || []
} else {
this.tableData = response.rows || []
} }
this.total = response.total || 0 try {
this.summary = response.summary || {} response = config.parseData(res)
this.loading = false } catch (error) {
} this._clearData()
this.$refs.scTable?.setScrollTop(0) this.loading = false
return res this.emptyText = '数据格式错误'
return false
}
if (response.code !== config.successCode) {
this._clearData()
this.loading = false
this.emptyText = response.msg
} else {
this.emptyText = '暂无数据'
if (this.hidePagination) {
this.tableData = response.data || []
} else {
this.tableData = response.rows || []
}
this.total = response.total || 0
this.summary = response.summary || {}
this.loading = false
}
this.$refs.scTable?.setScrollTop(0)
return res
})()
this.$emit('dataChange', ret, this.tableData)
}, },
// //
_clearData() { _clearData() {