当前位置: 首页 > news >正文

uniapp封装组件,选中后右上角显示对号√样式(通过css实现)

效果:

blog.csdnimg.cn/b0952e5aca714ce392d478dbfaade18d.png)

一、组件封装

1、在项目根目录下创建components文件夹,自定义组件名称,我定义的是xc-button
在这里插入图片描述
2、封装组件代码

<template><view class="handle-btn"><view :class="handleIdCode == '1' ? 'select' : 'unSelect'" @click="agreeBtn">{{agreeLabel}}</view><view :class="handleIdCode == '0' ? 'select' : 'unSelect'" @click="unAgreeBtn">{{unAgreeLabel}}</view></view>
</template><script>export default {name:"xc-button",props:{handleId:{type: String,default:"",},//lable值agreeLabel: {type: String,default:"",},//lable值unAgreeLabel: {type: String,default:"",}},data() {return {handleIdCode:''};},methods:{agreeBtn(){this.handleIdCode = '1',this.$emit('agreeBtn')},unAgreeBtn(){this.handleIdCode = '0',this.$emit('unAgreeBtn')},},onLoad() {this.handleIdCode = this.handleId}}
</script><style lang="scss">
// 按钮样式	
.handle-btn{display: flex;
}
.select {position: relative;box-sizing: border-box;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: 16rpx 32rpx;width: 120rpx;height: 56rpx;border-radius: 2px;margin: 0 10rpx;background-color: #E8F3FF;color: #5999fc;
}
.select:before {content: '';position: absolute;right: 0;top: 0;border: 24rpx solid #5999fc;border-top-color: transparent;border-left-color: transparent;transform: rotate(-90deg);}.select:after {content: '';width: 2px;height: 5px;position: absolute;right: 3px;top: 5px;border: 1px solid #fff;border-top-color: transparent;border-left-color: transparent;transform: rotate(45deg);}
.unSelect{box-sizing: border-box;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: 16rpx 32rpx;width: 120rpx;height: 56rpx;background: #F8F8F8;border: 0.5px solid #F8F8F8;border-radius: 2px;margin: 0 10rpx;}
</style>

二、在页面中使用组件

<template><view><xc-button agreeLabel="是"  unAgreeLabel="否" handleId="1" @agreeBtn="agreeBtn" @unAgreeBtn="unAgreeBtn"></xc-button></view>
</template><script>export default {data() {return {};},methods: {agreeBtn() {console.log('是被触发了')},unAgreeBtn() {console.log('否被触发了')},}}
</script><style lang="scss"></style>
http://www.lryc.cn/news/129737.html

相关文章:

  • 华为OD面试(部分)
  • 从零做软件开发项目系列之一综论软件项目开发
  • msvcp110.dll是什么意思,msvcp110.dll丢失的解决方法
  • 【报错】git push --set-upstream origin XXXX重名
  • 探索树算法:C语言实现二叉树与平衡树
  • Ubuntu 20.04(服务器版)安装 Anaconda
  • IDEA项目实践——JavaWeb简介以及Servlet编程实战
  • 【Freertos基础入门】队列(queue)的使用
  • 从零构建深度学习推理框架-8 卷积算子实现
  • 【Spring Boot】JdbcTemplate数据连接模板 — JdbcTemplate入门
  • 视频汇聚集中存储EasyCVR平台调用iframe地址视频无法播放,该如何解决?
  • 从今天起,重新出发
  • Java多态详解(1)
  • optee读取Arm系统寄存器的模板
  • VSCode 使用总结
  • GuLi商城-前端基础Vue-使用Vue脚手架进行模块化开发
  • LeetCode450. 删除二叉搜索树中的节点
  • Java动态调试技术原理及实践
  • Lua + Redis 实战代码
  • 类的访问限定符,实例化,对象存储方式,this指针
  • 《Linux从练气到飞升》No.15 Linux 环境变量
  • Spring Boot 重启命令
  • pdf怎么合并在一起?这几个合并方法了解一下
  • 【仿写tomcat】七、项目结构优化以及代码开源
  • 泛微E8配置自定义触发流程失败
  • Springboot整合Mybatis调用Oracle存储过程
  • 【java安全】Log4j反序列化漏洞
  • [mars3d 打包]vue3+vite,打包后mars3d找不到
  • STM32——SPI外设总线
  • BOXTRADE-天启量化分析平台 主要功能介绍