使用vue实现一个网页的贴边组件。

2024-01-04

使用vue实现一个网页的贴边组件。

先来看效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2024-01-04 10.46.22
https://www.haolu.com/share/V00O6HWYR8/36207fc21c35b2a8e09bf22787a81527

下面是具体代码实现:

1、父组件。(用于贴边展示的组件)
<template>
  <div class="floating-component">
    <!-- 悬浮内容 -->
    <slot>
      <!-- 点击登录认证进行弹框 -->
      <div v-if="logbtnFlag" style="margin-bottom: 2%;">
        <el-popover placement="right" width="300" trigger="click" append-to-body>

          <!-- 登录认证表单 -->
          <Auth-login v-if="authFlag && logbtnFlag" @close-event="closeEvent"></Auth-login>

          <el-button type="primary" class="vertical-button" slot="reference" @click="openAuth">数电登录&认证</el-button>

        </el-popover>
      </div>
      <!-- 默认展示图标 -->
      <div @mouseover="handleMouseEnter" @mouseleave="handleMouseLeave">
        <el-button type="primary" @click="openBtn">
          <i class="el-icon-d-arrow-left" v-show="showIcon"></i>
          <span v-show="!showIcon && !logbtnFlag">{{btnText}}</span>
          <span v-show="!showIcon && logbtnFlag">{{btnText}}</span>
        </el-button>
      </div>
    </slot>
  </div>
</template>
<script>
  import AuthLogin from './auth.vue';
  export default {
    components: {
      AuthLogin
    },
    data() {
      return {
        authFlag: false, //是否展示认证登录组件
        showIcon: true, //是否展示图标
        logbtnFlag: true, //是否展示登录认证按钮
        btnText: '收起'
      };
    },
    created() {},
    methods: {
      //监听组件传来数据
      closeEvent(val) {
        this.authFlag = false
        this.showIcon = true
      },
      openAuth() {
        this.authFlag = !this.authFlag
      },
      handleMouseEnter() {
        this.showIcon = false
      },
      handleMouseLeave() {
        this.showIcon = true
      },
      openBtn() {
        this.authFlag = false
        this.logbtnFlag = !this.logbtnFlag
        if (this.logbtnFlag) {
          this.btnText = "收起"
        } else {
          this.btnText = "展开"
        }
      }
    },
  };
</script>

<style>
  .vertical-button {
    width: 46px;
    text-align: center;
    white-space: initial;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 800;
    font-size: 14px;
    line-height: 23px;
  }

  .floating-component {
    position: fixed;
    float: right;
    top: 45%;
    right: -1%;
    /* background-color: rgba(0, 0, 0, 0.5); */
    color: white;
    padding: 10px;
    border-radius: 4px;
    z-index: 1000;
    /* 设置 z-index 确保悬浮在顶层 */
  }
</style>

2、子组件(用于处理业务逻辑的页面)
<!-- 登录认证表单 -->
<template>
 <div>
<h1>具体业务表单</h1>
 </div>
</template>
<script>
  import {xxx} from "@/api/xxx";
  export default {
    components: {
     
    },
    data() {
      return {
        
      };
    },
    created() {
      this.init()
    },
    methods: {
      init() {},
    }
  };
</script>

<style>
  
</style>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用vue实现一个网页的贴边组件。 的相关文章

  • 如何使用 lodash、underscore 或 bluebird 同步迭代数组 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个数组 其中每个索引处包含文件名 我想下载这些文件一次一个 同步 我知道关于 Async 模块 但我想知道是否有任何功能Lodash
  • 从 JavaScript 重新启动动画 GIF,无需重新加载图像

    我正在使用动画 GIF 创建动画幻灯片 我正在从一个动画淡入淡出到下一个动画 问题是 我发现确保 GIF 从第一帧开始动画的唯一方法是每次显示时重新加载它 每个 GIF 大约 200KB 这对于连续幻灯片播放来说带宽太大了 这是我当前的代码
  • 元素存在之前的html5音频绑定时间更新

    我试图从音频标签绑定 timeupdate 事件 该标签尚不存在 我习惯这样做 body on click selector function e 我用音频标签尝试了这个 body on timeupdate audioPlayerJS a
  • 添加选中的单选按钮的总数

    UPDATE 如果您尝试此链接上的表格http jsfiddle net Matt KP BwmzQ http jsfiddle net Matt KP BwmzQ 按下小提琴并选择右上角的 40 英镑单选按钮 然后在底部看到订单总额 上面
  • 如何将 scala 列表转换为 javascript 数组?

    有更简单的方法吗 document ready function var jsArray if scalaList null for id lt scalaList jsArray push id 很简单 如下所示 import play
  • ECMAScript 6 类中的 getter 和 setter 有何用途?

    我对 ECMAScript 6 类中 getter 和 setter 的意义感到困惑 什么目的 下面是我参考的一个例子 class Employee constructor name this name name doWork return
  • jQuery 在附加元素后立即返回 div 元素的高度 0

    我有一个浮动 div 最初没有内容 我使用 jQuery 将一组元素附加到 div 然后立即调用原始 div 的 height 方法 我添加的元素在样式表中具有定义的最小高度 而浮动 div 则没有 问题是 当我在原始 div 上调用 he
  • Jquery:排除元素

    我有以下代码 document ready function a rel each function this qtip content text img class middle src i icon processing gif alt
  • AngularJS 服务并承诺最佳实践

    我有一个 AngularJS 应用程序services 调用 http资源并返回promise我在控制器中解决了这个问题 这是我正在做的事情的示例 app service Blog function http q var deferred
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • 如何格式化折线图谷歌图表材料上的轴?

    我在格式化材料图表的轴时遇到问题 Using classic line chart if I would like to format my vertical axis with a dollar sign I would do vAxes
  • 全日历与 UTC 和本地日期的混淆

    我确实让 fullcalendar 正常初始化 所以它代表当前日期 午夜 gt 午夜 1 天 1 小时时段 我从其他一些数据源获取带有时间戳的数据 格式为 YYYY MM DD HH mm 作为字符串传输 无时区信息 因此 我将该字符串转换
  • React Native 中 fontAwesome 图标的圆形轮廓

    我想使用 fontAwesome 图标 使其位于圆圈的中间 我想将它用作一个图标项 我读到我们可以将它与圆形图标一起使用并将其放置在其中 但我无法使其工作 import IconFA from react native vector ico
  • FileReader 在 Ionic 2 中未触发 onloadend

    我正在尝试使用 cordova file plugin 读取本地文件 目前我可以读取本地目录的内容并选择单个文件 但我在获取文件内容时遇到问题 这是我的函数 从列表中选择文件后单击按钮即可调用该函数 import window resolv
  • React setState回调返回值

    我是 React 新手 我希望实现这种流程 set the state execute a function f an async one which returns a promise set the state again return
  • Lodash _.hasIntersection?

    我想知道两个或多个数组是否有共同的项目 但我不在乎这些项目是什么 我知道 lodash 有一个 intersection方法 但我不需要它来遍历每个数组的每个项目 相反 我需要类似的东西 hasIntersection一旦找到第一个常见的出
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • 如何在控制台中隐藏日志消息的来源?

    当将消息输出到控制台时 还会显示源代码 在 Chrome 开发者工具中 它位于右侧 console log Foo Source Foo test js 1 Output 但是 在某些网站上 会显示消息without正在显示的源 例如Fac
  • gjs 如何使用 g_data_input_stream_read_line_async 在 Gnome Shell 扩展中读取套接字流

    我正在尝试编写一个 Gnome Shell 扩展 通过 Socket 服务器与 Arduino 进行通信 服务器和 Arduino 运行良好 但我陷入了监听传入服务器消息的扩展代码 因为我需要一种非阻塞方法 所以使用异步读取行 https
  • 了解客户端文件的对象 URL 以及如何释放内存

    我在用createObjectURL获取本地图像文件的引用 URL 当我完成文件 图像后 我打电话revokeObjectURL释放该内存 一切对我来说都很好 但我只是想确保我释放了我能释放的所有内存 我检查后出现了我的担忧chrome b

随机推荐

  • 江河湖泊生态水文监测物联网解决方案

    方案背景 江湖湖泊具有重要的经济效益和生态效益 是重要的资源储备 近年来 各级积极采取措施 加强江河湖泊治理 管理和保护 在防洪 供水 发电 航运 养殖等方面的综合发展 随着纳入管理的江河湖泊等水体越来越多 范围越来越广 很多水污染 非法采
  • Laya游戏开发中AI寻路解决方案

    1 AI自动寻路 机器人代码重构 按照目标点去执行逻辑 提前几帧判断直线 非直线的情况下 预设转弯角度 角度判断到达直线后开始执行到目标点的逻辑 2 U3D布点寻路 3 NevMesh Js寻路插件 NevMesh Js你可以在Laya引擎
  • Python生成器:优雅而高效的迭代器

    本文将为大家介绍下 Python 中的 生成器 它有何强大之处 实际开发任务中 for循环与生成器我们将如何取舍 Python是一种强大而灵活的编程语言 拥有丰富的标准库和特性功能 其中之一就是 生成器 生成器 是Python中一种非常实用
  • TXT文本删除第一行文本变成空要如何解决呢

    首先大家一起来看下这个TXT文本里面有多行内容 想把开头第一行批量删除不要掉 1 如果是一两个本可以手动删除也很方便哦 如果文本量比较大如几十几 几百个文本大家一直都选用 首助编辑高手 工具去批量操作哦 批量操作可以大大提高工作效率 接来看
  • 办公自动化-邮件通知和微信通知

    在工作中 或者学习中或者生活上等 需要定时提醒自己或其他人 处理一些待办任务事项 需要发邮件通知下 同时可能会要求发送文件之类的事情 由于现在大家微信使用频率最高 所以能发送微信通知消息 效果更好 同时开通下微信通知功能 第一步 邮件通知工
  • Java 跨平台实现

    Java 跨平台实现 1 Java虚拟机 JVM 2 中间代码 字节码 3 Write Once Run Anywhere WORA 4 Java 标准库 5 安全性与隔离 6 Java Community Process JCP
  • 朋渤WMS助力电商:无代码API连接广告与CRM系统

    优化用户运营的无代码解决方案 如今 企业追求高效的用户运营变得尤为重要 而这一切的基础是系统间的无缝集成 朋渤WMS提供了一个无需编写API代码的集成方案 通过其无代码开发平台 不仅优化了工业电气行业的业务流程 还让电商企业在激烈的市场竞争
  • GHM-XGBOOST模型的学习和理解

    Gradient Harmonized Margins GHM GHM 是一种损失函数 主要用于解决类别不平衡问题 GHM 损失函数能够关注较难的样本 对于容易的样本降低权重 从而在训练过程中更好地平衡了损失 这有助于提高模型对于少数类别的
  • SQL查询 字符串数据

    查询房屋特色 例如 1 2 3 多个 字符串 tag ids this gt request gt param tag ids s if tag ids arr explode tag ids tag ids map arr foreach
  • web前端学习怎么能快速入门

    Web前端开发是一个热门的职业领域 很多人都希望能够快速入门并掌握相关技能 下面将从制定学习计划 项目实战案例练习 以用为学 与培训班老师多交流 自主学习能力的培训等5个方面详细介绍如何在web前端培训班学习 1 制定web前端学习计划 在
  • 在Java培训班怎么学习?这5个学习技巧送给你

    在Java培训班学习Java编程语言是一个很好的学习平台 但是如何更有效地学习呢 下面我将为大家介绍5个学习技巧 希望能帮助到大家 Java是一种面向对象的编程语言 被广泛应用于企业级应用开发 移动应用开发 大数据处理等领域 学习Java编
  • 培训学习大数据知识有哪些方法

    学习大数据知识是当前非常热门的话题 随着大数据技术的不断发展 越来越多的人开始关注并学习大数据知识 在大数据培训班学习大数据知识是一个非常好的选择 下面我将从制定大数据学习计划 项目实战案例练习 以用为学 与培训班老师多交流等四个方面来详细
  • 旧硬盘插电脑上显示要初始化怎么办?了解原因和解决方案

    在使用旧的硬盘插入电脑时 有时会遇到需要进行初始化的情况 这种情况可能是由于多种原因引起的 而初始化硬盘将会导致所有数据丢失 给用户造成不便和损失 因此 本文将介绍解决旧硬盘需要初始化的问题的方法 并提供一些建议来帮助读者避免数据丢失 一
  • Linux配置Acado

    如果需要使用acado的matlab接口 请移步 Linux Matlab配置Acado 首先 安装必要的软件包 sudo apt get install gcc g cmake git gnuplot doxygen graphviz 在
  • APK 瘦身

    APK 瘦身的主要原因是考虑应用的下载转化率和留存率 应用太大了 用户可能就不下载了 再者 因为手机空间问题 用户有可能会卸载一些占用空间比较大的应用 所以 应用的大小也会影响留存率 1 APK 的结构 包含以下目录 assets 包含了应
  • 信息: 没有运行的任务匹配指定标准。

    文章 前言 错误场景 问题分析 解决方案 后言 前言 他们是天生勇敢的开发者 我们创造bug 传播bug 毫不留情地消灭bug 在这个过程中我们创造了很多bug以供娱乐 前端bug 这里是博主总结的一些前端的bug以及解决方案 感兴趣可以看
  • Centos8破解Root密码

    注 Centos7同理 1 重启Centos8系统后 在启动页面中选中第一行 按 e 键进入界面 2 找到linux开头所在行的找到 ro 改为上 rw init sysroot bin bash 同时按下 Ctrl X 跳转到紧急模式 3
  • 前端push.js桌面通知库

    push js 官网 https pushjs org 安装 1 npm 安装方式 npm install push js save 2 script引入方式 使用 1 获取用户许可 用户需要先授予权限才能发送通知 Push Permiss
  • [大厂实践] 零配置服务网格与按需集群发现

    本文介绍了Netflix通过扩展Envoy支持按需集群发现机制帮助团队无缝迁移服务网格的实践 原文 Zero Configuration Service Mesh with On Demand Cluster Discovery 在这篇文章
  • 使用vue实现一个网页的贴边组件。

    使用vue实现一个网页的贴边组件 先来看效果 2024 01 04 10 46 22 https www haolu com share V00O6HWYR8 36207fc21c35b2a8e09bf22787a81527 下面是具体代码