vue3.0 封装button使用slot组件

为了实现同一按钮在不同页面中仅文字内容变化的需求,本文档详细介绍了如何在Vue3.0中封装一个Button组件,并通过使用Slot来动态传入不同的文字,例如‘登录’和‘注册’。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求: 同一个button在不同页面使用,只有文字不一样;有的内容为登录有的为注册

下面我们自封一个button组件

子组件:

<template>
<!-- :type="type" 为按钮类型 :disabled="disabled" 为判断他为false还是ture  
    {'is-disabled':disabled} 如果为true就可以有is-disabled的样式
    @click="$emit('click')" 传入一个cklick点击事件
-->
    <button 
        class="y-button"    
        :class="{'is-disabled':disabled}"
        :type="type"
        :disabled="disabled"
        @click="$emit('click')"
    >
        <slot>
            <!-- 这是一个插槽在父组件中可以放入登录或都注册的文本字段 -->
        </slot>
    </button>
</template>
<script>
export default {
    name:'ybutton',
    props:{//传值去到父组件 
        type:String,
        disable:{//传值类型,默认值为false
            type:Boolean,
            default:false
        }
    }
}
</script>
<style scoped>
/* 获取焦点的时候和hover的时候改变颜色 */
.is-disabled:focus,
.is-disabled:hover{
    background: blue;
    color:white;

}
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周家大小姐.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值