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

【sgCollapseBtn】自定义组件:底部折叠/展开按钮

特性:

  1. 支持自定义折叠状态
  2. 支持自定义标签名称

sgCollapseBtn源码 

<template><div :class="$options.name" @click="show = !show" :placement="placement"><div class="collapse-btns"><div class="collapse-btn" v-if="show"><i class="el-icon-caret-top"></i><div class="label">折叠{{ collapseLabel || expandLabel || `` }}</div></div><div class="collapse-btn" v-else><i class="el-icon-caret-bottom"></i><div class="label">展开{{ expandLabel || collapseLabel || `` }}</div></div></div></div>
</template><script>
export default {name: "sgCollapseBtn",components: {},data() {return {show: false,};},props: ["data", "value", "collapseLabel", "expandLabel", "placement"],watch: {value: {handler(d) {this.show = d;},deep: true,immediate: true,},show(d) {this.$emit("input", d);},},created() {},mounted() {},computed: {},methods: {},
};
</script><style lang="scss" scoped>
.sgCollapseBtn {position: relative;z-index: 1;/*禁止选中文本*/user-select: none;width: 100%;height: 30px;line-height: 30px;background-color: white;cursor: pointer;&[placement="bottom"] {position: absolute;top: revert;bottom: 0;left: 0;right: 0;}.collapse-btns {width: 100%;$side: 20%; //渐变边界/*左右渐变遮罩(兼容IOS)*/-webkit-mask-image: linear-gradient(to right,transparent,white $side,white calc(100% - #{$side}),transparent);display: flex;justify-content: center;align-items: center;font-size: 14px;background-color: white;&::after {content: "";width: 100%;height: 100%;position: absolute;left: 0;top: 0;background: linear-gradient(white, #e2f0ff);opacity: 0;transition: 1s ease !important;z-index: -1;}.collapse-btn {transition: 0.4s !important;display: flex;align-items: center;transform: translateX(40%);i {transition: 0.4s !important;color: #d3dce6;}.label {transition: 0.2s !important;margin-left: 25px;color: #409eff;opacity: 0;}}}&:active,&:hover {.collapse-btns {&::after {opacity: 1;}.collapse-btn {transform: translateX(0%);i {color: #409eff;}.label {margin-left: 5px;color: #409eff;opacity: 1;// width: 100%;}}}}
}
</style>

应用

<template><div :class="$options.name"><!-- 折叠按钮 --><sgCollapseBtn v-model="expandSearch" :placement="`bottom`" :collapseLabel="``" /></div>
</template>
<script>
import sgCollapseBtn from "@/vue/components/admin/sgCollapseBtn";
export default {name: "sgComponent",components: { sgCollapseBtn },data() {return {expandSearch: false,};},props: ["value"],computed: {},watch: {},created() {},mounted() {},methods: {},destroyed() {},
};
</script>
<style lang="scss" scoped>
.sgComponent {
}
</style>

http://www.lryc.cn/news/311066.html

相关文章:

  • 如何根据玩家数量和游戏需求选择最合适的服务器配置?
  • 问题解决:各版本的vc_redist下载地址 缺少msvcr100.dll、msvcr120.dll、msvcr140.dll
  • 182基于matlab的半监督极限学习机进行聚类
  • C语言数组案例编程
  • NLP - 依存句法分析、句子歧义
  • vue实现图片上传至oss,返回url插入数据库,最后在前端页面上回显图片
  • C++学习笔记:set和map
  • 990-28产品经理:Different types of IT risk 不同类型的IT风险
  • wpa_supplicant与用户态程序的交互分析
  • JavaScript继承 寄生组合式继承 extends
  • Nginx 和Tomcat比较
  • p18 线性代数,行阶梯型矩阵
  • leetcode—— 动态规划—— 零钱兑换
  • java面试题(spring框架篇)(黑马 )
  • LeetCode27 移除元素
  • 自测-5 Shuffling Machine(python版本)
  • 你真的会设计测试用例吗?
  • 外贸网站模板建站
  • 多点通信与域套接字:2024/3/4
  • 52.2k star! 自己部署gpt4free, 免费使用各种GPT
  • 【HbuilderX】 uniapp实现 android申请权限 和 退出app返回桌面
  • 计算机网络之传输层 + 应用层
  • 五、软考-系统架构设计师笔记-信息安全技术基础知识
  • vue3+uniapp在微信小程序实现一个2048小游戏
  • 常见的浏览器跨域解决方法
  • 飞桨模型转ONNX模型教程
  • vue使用swiper(轮播图)-真实项目使用
  • C++ 创建并初始化对象
  • 大数据可视化python01
  • Java底层自学大纲_分布式篇