首页 > 其他分享 >vue3实现徽章组件

vue3实现徽章组件

时间:2024-12-07 14:57:46浏览次数:9  
标签:color 50% height 右上角 徽章 vue3 组件 defineProps

#引子

        引用elementUI的徽章组件(右上角红点)时发现,红点和他的主体是绑定的,使用起来非常不方便,无法实现随时随地每个元素添加红点提示的功能,于是我写了一个,感觉是很基础的组件


思路

        我们需要设置一个插槽,插入的内容为红点中的文字,而整个组件是一个绝对定位的div,定位在右上角并基于自身设置translate('-50%', '50%'),便能实现右上角红点的功能

        传入的参数color为背景颜色 默认红色即可

        使用时 父元素一定要开启绝对或者相对定位!不然白干

<template>
<div class="badge" :style="{'backgroundColor':props.color}" >
    <slot></slot>
</div>
</template>

<script setup>
import { defineProps } from 'vue';
const props = defineProps({
    color:{
        type:String,
        default: 'red'
    }
})
</script>

<style lang="scss" scoped>
.badge{
    height: 18rem;
    position: absolute;
    right: 0;
    top: 0;
    padding: 0 5rem 0 5rem;
    transform: translate(50%, -30%);
    font-size: 12rem;
    color: white;
    text-align: center;
    line-height: 18rem;
    border-radius: 10rem;
}
</style>

标签:color,50%,height,右上角,徽章,vue3,组件,defineProps
From: https://blog.csdn.net/violeteverdack/article/details/144245770

相关文章

  • Vue3 国际化实现错误
    Vue3国际化实现错误及解决方案引言随着应用程序的全球化需求日益增长,国际化(i18n)已经成为前端开发中不可忽视的重要环节。Vue3,作为目前最流行的前端框架之一,支持多语言的切换和不同地区的内容展示。Vue3的国际化功能通常通过集成第三方库,如vue-i18n来实现。尽管vue......
  • Vue3 可访问性问题
    Vue3可访问性问题及解决方案引言随着前端技术的不断发展,用户体验已经成为衡量一个网站或应用成功与否的关键因素之一。尤其是在当今多元化的互联网环境中,确保所有用户都能访问和使用你的应用变得越来越重要。可访问性(Accessibility,简称A11Y)是指为所有人群(包括老年人、......
  • 小程序开发WXSS语法:距离单位 vh 、px 、% 在各种组件属性设置中区别
    一、引言在小程序的WXSS样式设计中,有许多组件属性用于控制布局和间距。像width、height、padding、margin等属性在设置时可以使用不同的单位,如vh、px和%,它们各自具有独特的性质和应用场景。理解这些单位在不同组件属性中的区别对于创建精确且灵活的小程序界面布局至关......
  • Vsphere-软件组件
    VMwarevSphere是用于虚拟化的软件组件套件。这些组件包括ESXi、vCenterServer以及在vSphere环境中实现多个不同功能的其他软件组件。ESXIHypervisor运行虚拟机。每个虚拟机都有一组配置文件和磁盘文件,旨在共同执行物理机的所有功能。通过ESXi,可以运行虚拟机......
  • Vue 组件通信全面解析
    Vue组件通信全面解析:方式、原理、优缺点及最佳实践在Vue开发中,组件通信是一个重要的核心问题。随着应用复杂度的增加,如何在组件之间有效传递数据、触发事件,直接影响代码的可维护性和可扩展性。Vue提供了多种组件通信方式,每种方式都适合不同的使用场景。本文将系统性......
  • 巧用插槽,增加组件复用性
    一、插槽在Vue中,插槽(slot)是一种让父组件能够向子组件指定位置插入HTML结构的机制,它是组件间通信的一种方式,适用于父组件向子组件传递内容。插槽分为默认插槽、具名插槽和作用域插槽。二、默认插槽默认插槽是插槽中最基础、常用的一种类型。它允许父组件向子组件内部的特定......
  • Vue - 组件的通信
    一、父传子基本语法:定义子组件:在子组件中,使用 defineProps 来声明接收的props。可以使用数组或对象的方式来定义props。在父组件中使用子组件并传递数据:在父组件中引用子组件,并通过props将数据传递给子组件。defineProps函数的介绍:defineProps 是一个用于定义组件......
  • 框架建设实战3——创建框架基础组件frame-base
    frame-base顾名思义,就是定义一些基础的类。便于框架进行规约。主要有(不限于)如下几点:1.接口基类publicclassBaseController{/***接口标准响应*@paramcodeDetail错误码编码*@parammessage错误码描述*@paramdata*@return......
  • vue3开发中常见的代码错误或者其他相关问题小文章2.0
    11. 条件渲染和列表渲染中的性能问题错误示例:使用v-if和v-for在同一元素上可能导致性能问题。<!--不推荐--><divv-for="iteminitems"v-if="item.isVisible">{{item.name}}</div>解决方案:尽量避免在同一元素上同时使用v-if和v-for。如果需要过滤数据,......
  • 鸿蒙开发-Divider 组件
    在ArkTS中,Divider组件是用于在界面上显示分割线的组件,以下是其详细介绍:基本功能Divider组件主要用于将页面中的不同部分进行视觉上的分隔,使页面布局更加清晰和有条理,增强用户界面的可读性和美观性。常用属性color:用于设置分割线的颜色,接受ResourceColor类型的值,可以是......