This commit is contained in:
oneao committed 2025-09-02 17:30:58 +08:00
1 parent 9a432e7ab2
commit 261a263180
13 files changed
+635 -199

No files matched your search

@@ -36,35 +36,39 @@ export default defineComponent({
const map = { small: 14, medium: 16, large: 16 }
return map[props.size]
})
const hasContent = !!slots.default?.().length
return () => (
<button class={cls.value} disabled={props.disabled || props.loading}>
{/* 左侧图标 */}
{props.iconPosition === 'left' && (props.loading || props.icon) && (
<Icon
icon={props.loading ? 'mingcute:loading-line' : props.icon}
class={`${prefixCls}-icon-left`}
spin={props.loading}
width={iconSize.value}
height={iconSize.value}
/>
)}
return () => {
return (
<button class={cls.value} disabled={props.disabled || props.loading}>
{props.iconPosition === 'left' && (props.loading || props.icon) && (
<Icon
icon={props.loading ? 'mingcute:loading-line' : props.icon}
class={[
`${prefixCls}-icon-left`,
hasContent ? `${prefixCls}-icon-left-has-text` : '',
]}
spin={props.loading}
size={iconSize.value}
/>
)}
{/* 插槽文本 */}
<span>
{slots.default?.()}
</span>
<span>
{slots.default?.()}
</span>
{/* 右侧图标 */}
{props.iconPosition === 'right' && props.icon && (
<Icon
icon={props.icon}
class={`${prefixCls}-icon-right`}
width={iconSize.value}
height={iconSize.value}
/>
)}
</button>
)
{props.iconPosition === 'right' && props.icon && (
<Icon
icon={props.icon}
class={[
`${prefixCls}-icon-right`,
hasContent ? `${prefixCls}-icon-right-has-text` : '',
]}
size={iconSize.value}
/>
)}
</button>
)
}
},
})