为了解决单个页面或者组件内存在多个loading 时,参数定义混乱的问题,封装了一个LoadingButton组件。
<script lang="ts">
import {ref, useAttrs} from "vue";
import {omit} from "lodash-es";
// 关闭事件继承
defineOptions({
inheritAttrs: false
})
const loading = ref(false)
const attrs = useAttrs()
const handelClick = async () => {
loading.value = true
// 调用父组件传递的方法
await attrs.onClick?.()
loading.value = false
}
</script>
<template>
<el-button v-bind="omit($attrs, 'onClick')" :loading="loading"></el-button>
</template>
2025/10/8小于 1 分钟