From fa3ac93010bea3805438ee3ab0a182bfbf7423da Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期一, 27 五月 2024 16:19:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/Button/src/BasicButton.vue |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/src/components/Button/src/BasicButton.vue b/src/components/Button/src/BasicButton.vue
new file mode 100644
index 0000000..c112f5d
--- /dev/null
+++ b/src/components/Button/src/BasicButton.vue
@@ -0,0 +1,41 @@
+<template>
+	<Button v-bind="getBindValue" :class="getButtonClass" @click="onClick">
+		<template v-if="preIcon" #icon>
+			<Icon :icon="preIcon" :size="iconSize" />
+		</template>
+		<template #default="data">
+			<slot v-bind="data || {}"></slot>
+			<Icon :icon="postIcon" v-if="postIcon" :size="iconSize" />
+		</template>
+	</Button>
+</template>
+
+<script lang="ts">
+	import { defineComponent } from 'vue'
+	export default defineComponent({
+		name: 'AButton',
+		inheritAttrs: false,
+	})
+</script>
+<script lang="ts" setup>
+	import { computed, unref } from 'vue'
+	import { Button } from 'ant-design-vue'
+	import Icon from '/@/components/Icon/src/Icon.vue'
+	import { buttonProps } from './props'
+	import { useAttrs } from '/@/hooks/core/useAttrs'
+	const props = defineProps(buttonProps)
+	// get component class
+	const attrs = useAttrs({ excludeDefaultKeys: false })
+	const getButtonClass = computed(() => {
+		const { color, disabled } = props
+		return [
+			{
+				[`ant-btn-${color}`]: !!color,
+				[`is-disabled`]: disabled,
+			},
+		]
+	})
+
+	// get inherit binding value
+	const getBindValue = computed(() => ({ ...unref(attrs), ...props }))
+</script>

--
Gitblit v1.9.3