diff --git a/components/button/button.tsx b/components/button/button.tsx index f93cddd63..545100b11 100644 --- a/components/button/button.tsx +++ b/components/button/button.tsx @@ -27,22 +27,25 @@ export default defineComponent({ large: 'lg', small: 'sm', }, - sLoading: !!this.loading, + sLoading: false, hasTwoCNChar: false, }; }, watch: { - loading(val, preVal) { - if (preVal && typeof preVal !== 'boolean') { - clearTimeout(this.delayTimeout); - } - if (val && typeof val !== 'boolean' && val.delay) { - this.delayTimeout = setTimeout(() => { + loading: { + handler(val, preVal) { + if (preVal && typeof preVal !== 'boolean') { + clearTimeout(this.delayTimeout); + } + if (val && typeof val !== 'boolean' && val.delay) { + this.delayTimeout = setTimeout(() => { + this.sLoading = !!val; + }, val.delay); + } else { this.sLoading = !!val; - }, val.delay); - } else { - this.sLoading = !!val; - } + } + }, + immediate: true, }, }, mounted() {