diff --git a/packages/primevue/src/button/BaseButton.vue b/packages/primevue/src/button/BaseButton.vue index 3ae70885c..407da43d0 100644 --- a/packages/primevue/src/button/BaseButton.vue +++ b/packages/primevue/src/button/BaseButton.vue @@ -43,7 +43,7 @@ export default { default: undefined }, as: { - type: String, + type: [String, Object], default: 'BUTTON' }, asChild: { diff --git a/packages/primevue/src/button/Button.d.ts b/packages/primevue/src/button/Button.d.ts index 3b309f6f1..19809034f 100755 --- a/packages/primevue/src/button/Button.d.ts +++ b/packages/primevue/src/button/Button.d.ts @@ -10,7 +10,7 @@ import type { DefineComponent, DesignToken, EmitFn, GlobalComponentConstructor, HintedString, PassThrough } from '@primevue/core'; import type { ComponentHooks } from '@primevue/core/basecomponent'; import type { PassThroughOptions } from 'primevue/passthrough'; -import { ButtonHTMLAttributes, VNode } from 'vue'; +import { ButtonHTMLAttributes, Component, VNode } from 'vue'; export declare type ButtonPassThroughOptionType = ButtonPassThroughAttributes | ((options: ButtonPassThroughMethodOptions) => ButtonPassThroughAttributes | string) | string | null | undefined; @@ -133,7 +133,7 @@ export interface ButtonProps extends ButtonHTMLAttributes { * Use to change the HTML tag of root element. * @defaultValue BUTTON */ - as?: string | undefined; + as?: string | Component | undefined; /** * When enabled, it changes the default rendered element for the one passed as a child element. * @defaultValue false