【VUE】UniAPP之uview组件库,自定义tag封装,支持添加u-icon图标

组件代码

<template><view class="tag" :class="[props.mode, props.shape]"><slot name="left"><!-- icon图标 没有传入图标时不显示 --><u-icon v-if="props.icon !== ''" :name="props.icon" :color="props.color" size="20" /></slot>{{ props.text }}<slot name="right"></slot></view>
</template><script lang="ts" setup>
import { defineProps } from 'vue'
const props = defineProps({text: { //显示文本type: String,default: '自定义33'},color: { //颜色 主体颜色type: String,default: 'red'},mode: { //light	dark / plaintype: String,default: 'light'},shape: { //形状square circle / circleLeft / circleRighttype: String,default: 'circle'},icon: { //icon图标type: String,default: ''}})
</script><style lang="scss" scoped>
$color: v-bind(color);.tag {padding: 8rpx 22rpx;font-size: 20rpx;// border-radius: 36rpx;text-align: center;position: relative;z-index: 1;&::before {content: "";display: block;border-radius: 36rpx;position: absolute;left: 0;top: 0;width: 100%;height: 100%;opacity: 0.07;z-index: 0;}
}// 形状
.tag.circle {border-radius: 36rpx;
}.tag.circleLeft {border-radius: 36rpx;border-bottom-left-radius: 0;border-top-left-radius: 0;
}.tag.circleRight {border-radius: 36rpx;border-bottom-right-radius: 0;border-top-right-radius: 0;
}// 模式.tag.light {color: $color;border: 2rpx solid $color;&::before {background-color: $color;}
}.tag.light2 {color: $color;&::before {background-color: $color;}
}.tag.light3 {color: $color;background-color: #fff;&::before {// background-color: #fff;border: 1rpx solid $color;}
}.tag.dark {color: #fff;background-color: $color;
}.tag.plain {color: $color;border: 2rpx solid $color;
}
</style>

使用案例

<tag text="分享" mode="light2" icon="zhuanfa" color="#3820d9" />
<tag text="重新生成" mode="light3" icon="reload" color="#000" />

效果展示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/455371.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据分享】1929-2023年全球站点的逐月平均能见度(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 之前我们分享过1929-2023年全球气象站点的逐月平均气温数据、逐月最高气温数据…

说说vue的diff算法

Vue的diff算法 是什么比较方式 – 深度优先&#xff0c;同层比较 比较只会在同层级进行&#xff0c;不会跨层级比较比较的过程中&#xff0c;循环从两边向中间收拢 diff 算法更新的例子原理分析 patchpatchVnodeupdateChildren 小结 Vue的diff算法 此文章&#xff0c;来源于印…

Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接...问题解决方法之一

一、问题描述 将Redis压缩包解压后&#xff0c;安装Redis过程中出现问题Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝&#xff0c;无法连接... 官网windows下redis开机自启动的指令如下&#xff1a; 1、在redis目录下执行 redis-server --service-in…

Java面向对象 创建类 创建对象

目录 创建类类的属性类的方法实例分析 创建对象创建Test类测试分析 创建类 类的属性 属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体。 属性定义格式&#xff1a; [修饰符] 属性类型 属性名 [默认值] ;类的方法 方法用于定义该类或该类实例…

释放资源的方式

try - catch - finally finally代码区的特点&#xff1a;无论try中的程序是正常执行力&#xff0c;还是出现了异常&#xff0c;最后都一定会执行finally区&#xff0c;除非JVM终止。 作用&#xff1a;一般用于在程序执行完成后进行资源的释放操作&#xff08;专业级做法&#x…

用 Delphi 程序调用 Python 代码画曲线图

用 Python 的库画图 Python 代码如下&#xff1a; import matplotlib.pyplot as pltsquares [1, 4, 9, 16, 25]; plt.plot(squares); plt.grid(True) # 网格线 plt.show(); # 这句话会弹出个窗口出来&#xff0c;里面是上述数据的曲线。 把以上代码&#xff0c;放进 PyS…

对于模糊查询的SQL,怎么优先返回等值记录

说明&#xff1a;记录一次SQL改进的方法&#xff0c;希望能对大家有启发。 场景 前端项目有一个输入框&#xff0c;根据输入的银行名称&#xff0c;去模糊查询对应的数据库表&#xff0c;返回结果集&#xff0c;显示到下拉列表中。 因为银行名称字段包括了分行名&#xff0c…

如何进行游戏服务器的负载均衡和扩展性设计?

​在进行游戏服务器的负载均衡和扩展性设计时&#xff0c;需要考虑多个方面&#xff0c;以确保服务器的稳定性和可扩展性。以下是一些关键的步骤和考虑因素&#xff1a; 负载均衡的需求分析 在进行负载均衡设计之前&#xff0c;需要深入了解游戏服务器的负载特性和需求。这包括…

DevOps落地笔记-15|混沌工程:通过问题注入提高系统可靠性

上一课时介绍了通过搭建一套部署流水线&#xff0c;高效、可靠的将软件部署到测试环境以及生产环境。到目前为止&#xff0c;我们学习了从用户需求到软件部署到生产环境交付给用户的全过程。随着软件工程不断发展&#xff0c;近几年&#xff0c;出现了一种新的实践&#xff0c;…

idea(2023.3.3 ) spring boot热部署,修改热部署延迟时间

1、添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> </dependency>载入依赖 2、设置编辑器 设置两个选项 设置热部署更新延迟时…

无向图-树的重心-DFS求解

思路&#xff1a; 本题的本质是树的dfs&#xff0c; 每次dfs可以确定以u为重心的最大连通块的节点数&#xff0c;并且更新一下ans。 也就是说&#xff0c;dfs并不直接返回答案&#xff0c;而是在每次更新中迭代一次答案。 这样的套路会经常用到&#xff0c;在 树的dfs 题目中…

python的内置函数-print()、input()、range()

内置函数 一、print()二、input()三、range()range的定义与特点range()函数的使用使用range()创建数字列表 一、print() print()是一个内置函数&#xff0c;用于将指定的内容打印到控制台。 #基本用法&#xff1a; print(value1, ..., sep , end\n, filesys.stdout, flushFal…