perf: add button loading status

This commit is contained in:
zhaojisen
2024-08-08 14:46:39 +08:00
parent c582c8de98
commit f63405978e
4 changed files with 9 additions and 15 deletions

View File

@@ -1,8 +1,8 @@
<template>
<Dialog
ref="customDialog"
:close-on-click-modal="false"
:title="$tc('Assets')"
:disabled-status="!isLoaded"
custom-class="asset-select-dialog"
top="2vh"
v-bind="$attrs"
@@ -67,6 +67,7 @@ export default {
data() {
const vm = this
return {
isLoaded: false,
dialogVisible: false,
rowSelected: _.cloneDeep(this.value) || [],
rowsAdd: [],
@@ -128,7 +129,7 @@ export default {
},
methods: {
handleTableLoaded() {
this.$refs.customDialog.loaded()
this.isLoaded = true
},
handleClose() {
this.$refs.ListPage.$refs.TreeList.componentKey += 1

View File

@@ -10,7 +10,7 @@
v-bind="$attrs"
v-on="$listeners"
>
<div v-loading="!isLoaded">
<div v-loading="disabledStatus">
<slot />
</div>
@@ -19,7 +19,7 @@
<el-button v-if="showCancel && showButtons" size="small" @click="onCancel">{{ cancelTitle }}</el-button>
<el-button
v-if="showConfirm && showButtons"
:disabled="!isLoaded"
:disabled="disabledStatus"
size="small"
type="primary"
@click="onConfirm"
@@ -83,7 +83,6 @@ export default {
},
data() {
return {
isLoaded: false
}
},
computed: {
@@ -92,9 +91,6 @@ export default {
}
},
methods: {
loaded() {
this.isLoaded = true
},
onCancel() {
this.$emit('cancel')
},

View File

@@ -11,17 +11,17 @@
/>
<Dialog
v-if="showTransfer"
ref="customDialog"
:close-on-click-modal="false"
:title="label"
:visible.sync="showTransfer"
:disabled-status="!isLoaded"
class="the-dialog"
width="730px"
@cancel="handleTransCancel"
@confirm="handleTransConfirm"
v-on="$listeners"
>
<krryPaging v-if="selectInitialized" ref="pageTransfer" class="transfer" v-bind="pagingTransfer" @loaded="handleLoaded" />
<krryPaging v-if="selectInitialized" ref="pageTransfer" class="transfer" v-bind="pagingTransfer" />
</Dialog>
</div>
</template>
@@ -80,12 +80,14 @@ export default {
params['search'] = keyword
}
const data = await this.$axios.get(url, { params })
this.isLoaded = true
return data['results'].map(item => {
const n = transformOption(item)
return { id: n.value, label: n.label }
})
}
return {
isLoaded: false,
showTransfer: false,
selectInitialized: false,
select2: {
@@ -165,9 +167,6 @@ export default {
this.select2.options = options
this.emit(options.map(item => item.value))
this.showTransfer = false
},
handleLoaded() {
this.$refs.customDialog.loaded()
}
}
}

View File

@@ -240,8 +240,6 @@ export default {
ele => !checkDataId.includes(ele.id)
)
}
this.$emit('loaded')
},
searchWord(keyword, titleId) {
// 过滤掉数据,保留搜索的数据