在 Vue 2 的 Element UI 和 Vue 3 的 Element Plus 中,Badge 标记组件用于在元素右上角展示徽标数字或文本。虽然两者在功能和使用上非常相似,但仍然存在一些细微的差异。以下是两个版本下 Badge 组件的属性、事件和方法的详细介绍,并附有使用示例。
Vue 2 + Element UI Badge
属性 (Attributes)
value
: 显示的值,可以是数字或文本。type
: 标记的类型,用于设置不同的背景色,可选值有primary
、success
、warning
、danger
、info
、text
。offset
: 设置标记相对于右上角的位置,格式如[x, y]
。overlap
: 是否重叠到文字上。hidden
: 是否隐藏标记。dot
: 是否为小红点模式,不显示数字。max
: 最大值,超过最大值会显示{max}+
,仅当type
为数字时有效。unit
: 单位,仅在value
为数字时有效。unit-position
: 单位的位置,可选值有left
、right
,仅在value
为数字时有效。class-name
: 自定义类名。
事件 (Events)
Badge 组件在 Element UI 中通常没有定义特定的事件。
方法 (Methods)
Badge 组件在 Element UI 中通常没有直接暴露的方法。
示例
<template>
<el-badge :value="12" :type="type"></el-badge>
<el-badge value="hot" class="is-dot"></el-badge>
<el-badge :value="100" :max="99" unit="条">
<el-button size="mini">评论</el-button>
</el-badge>
</template>
<script>
export default {
data() {
return {
type: 'primary'
};
}
};
</script>
<style scoped>
.is-dot .el-badge__content {
height: 8px;
width: 8px;
line-height: 8px;
border-radius: 50%;
}
</style>
Vue 3 + Element Plus Badge
在 Vue 3 和 Element Plus 中,Badge 组件的属性、事件和用法与 Vue 2 中的 Element UI 非常相似,但可能会有一些细微的差别或新增的属性。
属性 (Attributes)
与 Vue 2 的 Element UI 类似,但可能会有一些新增或修改的属性。
事件 (Events)
Badge 组件在 Element Plus 中通常也没有定义特定的事件。
方法 (Methods)
Badge 组件在 Element Plus 中通常也没有直接暴露的方法。
示例
在 Vue 3 中使用 <script setup>
语法糖时,示例将略有不同:
<template>
<el-badge v-model:value="badgeValue" type="primary"></el-badge>
<el-badge value="hot" class="is-dot"></el-badge>
<el-badge v-model:value="commentCount" :max="99" unit="条">
<el-button size="mini">评论</el-button>
</el-badge>
</template>
<script setup>
import { ref } from 'vue';
const badgeValue = ref(12);
const commentCount = ref(100);
</script>
<style scoped>
.is-dot .el-badge__content {
height: 8px;
width: 8px;
line-height: 8px;
border-radius: 50%;
}
</style>
请注意,由于 Element Plus 还在不断发展中,上述内容可能会随着版本的更新而有所变化。建议查阅最新的官方文档以获取最准确的信息。