Badge 标记

出现在按钮、图标旁的数字或状态标记。

基础用法

展示新消息数量。

通过绑定tagNum传递显示消息数量。

<fl-Badge :tagNum = "5">评论
</fl-Badge>
<fl-Badge :tagNum = "9">回复
</fl-Badge>
<fl-Badge :tagNum = "12">点赞
</fl-Badge>

自定义颜色

改变消息冒泡框的背景颜色。

<fl-Badge :tagNum = "5">评论
</fl-Badge>
<fl-Badge tagColor = 'blue' :tagNum = "9">回复
</fl-Badge>
<fl-Badge tagColor = 'green' :tagNum = "12">点赞
</fl-Badge>

使用tagColor,自定义任意颜色,默认为霸气红。

最大值

tagNum超出最大值,使用+代替。

配置max属性。

<fl-Badge :tagNum = "5" :max = "6">评论
</fl-Badge>
<fl-Badge tagColor = 'blue' :tagNum = "5" :max = "2">回复
</fl-Badge>
<fl-Badge tagColor = 'green' :tagNum = "12" :max = "10">点赞
</fl-Badge>

Attributes

参数 说明 类型 可选值 最大值
tagNum 描述值 String >=0 ——
tagColor 冒泡框背景色 String —— ——
max 所支持最大值 String >=0 ——

源码:

<template><div class = "badge"><button class = "btn"><slot></slot><span class = "num" :style = "backgroundColor">{{formatTagNum}}</span></button></div>
</template><script>export default {props: {tagNum: {type: String,default: 1},max: {type: String,default: 10},},computed: {backgroundColor() {if(this.$attrs.tagColor){return `background:${this.$attrs.tagColor}`}return 'background:red'},formatTagNum(){if(this.tagNum < 0){return 1}return Number(this.tagNum) >= Number(this.max) ? Number(this.tagNum) + '+' : Number(this.tagNum)}},}
</script><style scoped>
.badge{width:100px;
}
.btn{width:60px;height:30px;border:1px solid #ccc;background: #fff;border-radius: 5px;position: relative;cursor: pointer;
}
.btn:hover{background: rgb(194, 235, 238);border-color: rgb(149, 211, 216);;
}
.btn .num{position: absolute;top:-10px;right:-20px;border-radius: 15px;color:#fff;width:20px;padding:3px;font-size:10px;
}
</style>

手写Vue个人组件库——fl-Badge相关推荐

  1. 手写Vue个人组件库——fl-Lazyimg 图片懒加载

    fl-Lazyimg图片懒加载 基础使用 将img绑定在fl-Lazyimg标签中,设置img的src-data为图片路径即可使用. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上 ...

  2. 手写Vue个人组件库——fl-Breadcrumb

    Breadcrumb 面包屑 显示当前页面的路径,快速返回之前的任意页面. 基础用法 适用广泛的基础用法. 你需要做的是将面包屑导航所包含的标题名和路径名以数组形式存放并绑定:breadcrumbDa ...

  3. 手写Vue个人组件库——fl-Tree 树形选择器

    Tree 树形控件 用清晰的层级结构展示信息,可展开或折叠. 基础用法 基础的树形结构展示. 通过dataSource绑定数据源,使用afterToggle获得每次展开收起的回调方法. 同时你还可以配 ...

  4. vue 多点触控手势_手写 Vue 手势组件__Vue.js

    前言 最近需要使用手指捏合扩大的手势操作,找了几个组件,要么对 Vue 适配不好,要么量级太大,决定自己手写手势操作. 项目与效果预览 思路 直接在 DOM 上绑定 touchstart .touch ...

  5. vue 日期面板_手写Vue日历组件

    export class Lunar {//初一显示月份 //节日按照优先级替换日 private dataObj: any ={ month:"", day:"&quo ...

  6. [vue] 你有自己用vue写过UI组件库吗?

    [vue] 你有自己用vue写过UI组件库吗? {{item.title}}<dl v-if="item.list.length > 0"><dd v-fo ...

  7. Vue手写一个日历组件

    工作中遇到一个需求是根据日历查看某一天/某一周/某一月的睡眠报告,但是找了好多日历组件都不是很符合需求,只好自己手写一个日历组件,顺便记录一下. 先来看看设计图是什么样式, 跟其他日历有点不一样,这个 ...

  8. 创建, 发布自己的 Vue UI 组件库

    创建, 发布自己的 Vue UI 组件库 前言 在使用 Vue 进行日常开发时, 我们经常会用到一些开源的 UI 库, 如: Element-UI_, _Vuetify 等. 只需一行命令, 即可方便 ...

  9. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  10. vue filter对象_学习vue源码(3) 手写Vue.directive、Vue.filter、Vue.component方法

    一.Vue.directive Vue.directive(id,[definition]); 1)参数 { string } id{ Function | Object } [ definition ...

最新文章

  1. 插件制作教程 php,typecho插件编写教程(二):写一个新插件
  2. 工业大数据的真正意义和价值
  3. 使用PIE/PIF值判断DVD刻录机的刻录品质
  4. python核心模块之pickle和cPickle讲解
  5. 易混淆知识点(3):b和strong的真正区别在哪?
  6. Recovering deleted Records
  7. 【AI视野·今日Robot 机器人论文速览 第十期】Fri, 18 Jun 2021
  8. javascript !-- //-- 与老的浏览器打交道
  9. 魔术师利用一副牌中的13张红桃c语言,魔术师的猜牌术(1) 魔术师利用一副牌中的13张黑桃 - 下载 - 搜珍网...
  10. Vue.js 组件编码规范
  11. Android 一些笔记(这只是一些个人笔记)
  12. 行政管理专业考计算机研究生分数,行政管理学,考研,历年分数线是多少?
  13. c语言分数乘法,ATmega32中文资料.pdf
  14. Coverity代码静态检测工具导出Excel文件
  15. 如何使用PM2 部署 nodejs 项目
  16. 轰隆隆-小站 链接目录
  17. mysql数据表分析统计记录
  18. 线性代数 行列式(二)
  19. 【机器学习】机器学习之一元线性回归
  20. DWI高级弥散模型:NODDI简介

热门文章

  1. 关于char[]类型的排序 和字符串在使用时可能char*更好用
  2. 我爱淘二次冲刺阶段5
  3. 博客迁移到sunface.io
  4. 新闻叙事与文学影视叙事的区别
  5. c语言青蛙跳答案是多少啊,青蛙跳台阶问题(示例代码)
  6. 情人年-CGArt | 风格 银光版
  7. 隔离升压电源模块24V功率可达40W宽电压输入高电压稳压输出
  8. 二层交换机和三层交换机的工作原理
  9. 自考汉语言文学本科要考几门?专业有哪些课程?
  10. 华为u8500 刷到2.2再刷回2.1后WIFI无法启动的解决办法 无法启动无线局域网