From: Amour1688 Date: Mon, 2 Aug 2021 13:18:35 +0000 (+0800) Subject: fix(types): remove explicit return type annotation requirement for `this` inference... X-Git-Tag: v3.2.0-beta.8~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3d5ad204d17e18f6a038c7f6c3cc2a5c2271a08;p=thirdparty%2Fvuejs%2Fcore.git fix(types): remove explicit return type annotation requirement for `this` inference in computed options (#4221) --- diff --git a/packages/reactivity/src/computed.ts b/packages/reactivity/src/computed.ts index 4c984d3d65..3b3734388a 100644 --- a/packages/reactivity/src/computed.ts +++ b/packages/reactivity/src/computed.ts @@ -12,7 +12,7 @@ export interface WritableComputedRef extends Ref { readonly effect: ReactiveEffect } -export type ComputedGetter = (ctx?: any) => T +export type ComputedGetter = (...args: any[]) => T export type ComputedSetter = (v: T) => void export interface WritableComputedOptions { diff --git a/test-dts/defineComponent.test-d.tsx b/test-dts/defineComponent.test-d.tsx index dba11f20b9..b28bbed6b4 100644 --- a/test-dts/defineComponent.test-d.tsx +++ b/test-dts/defineComponent.test-d.tsx @@ -396,12 +396,12 @@ describe('type inference w/ options API', () => { } }, computed: { - d(): number { + d() { expectType(this.b) return this.b + 1 }, e: { - get(): number { + get() { expectType(this.b) expectType(this.d) @@ -514,10 +514,10 @@ describe('with mixins', () => { expectType(props.aP1) }, computed: { - dC1(): number { + dC1() { return this.d + this.a }, - dC2(): string { + dC2() { return this.aP1 + 'dC2' } } @@ -926,7 +926,7 @@ describe('emits', () => { }, mounted() { // #3599 - this.$nextTick(function() { + this.$nextTick(function () { // this should be bound to this instance this.$emit('click', 1)