uniapp开发H5、手机APP、微信小程序 可拖动菜单按钮

ml-fab

插件地址:https://ext.dcloud.net.cn/plugin?id=18909

1、可拖拽悬浮按钮 ml-fab,支持自定义插槽,点击可展开一个图标按钮菜单,可随意拖拽。
2、支持自定义插槽,可实现自定义配置。
3、操作简单易上手。

ezgif-4-03caa72376

Snipaste_2024-06-21_14-08-33

ml-fab介绍

安装方式

本组件符合easycom规范,HBuilderX 2.5.5起,只需将本组件导入项目,在页面template中即可直接使用,无需在页面中import和注册components

代码演示

不使用插槽,使用默认配置

<template><ml-fab :fabOption="fabOption" @clickRow="clickRow" @trigger="trigger"></ml-fab>
</template>
<script setup >import { ref } from 'vue';const fabOption = ref({iconPath: "../../static/icons/ml-fab-icon.png",selectIconPath: "../../static/icons/ml-fab-icon-o.png",color: "#fff",selectColor: "#007aff",fontSize: 13,fabBackground: "#a5a5a5",list: [ // 最多支持配置 4 个{title: "收藏",icon: "../../static/icons/ml-fab-menu-item-m.png",selectIcon: "../../static/icons/ml-fab-menu-item-m-o.png"},{title: "搜索",icon: "../../static/icons/ml-fab-menu-item-s.png",selectIcon: "../../static/icons/ml-fab-menu-item-s-o.png"}]});/*** 选中了菜单* @param row list中的配置项* @param index 对应list中的索引*/const clickRow = (row, _index) => {uni.showToast({ title: row.title, icon: "none", mask: false });};/*** 打开/关闭 菜单弹框* @param open true/false*/const trigger = (open) => {uni.showToast({ title: open ? '打开弹框' : '关闭弹框', icon: "none", mask: false });};
</script>

使用自定义插槽,自定义组件配置

<template><ml-fab :fabOption="fabOption" @clickRow="clickRow" @trigger="trigger"><!-- 使用插槽,自定义fab组件:组件颜色 > 橙黄色 --><template v-slot:fab="{ option }"><view style="background: #ffb727;width: 100%;height: 100%;text-align: center;">陌路</view></template><!-- 使用插槽,自定义list组件:list中的option组件颜色 > 蓝色【注意:使用v-slot:list时,v-slot:item将失效】 --><template v-slot:list="{ list }"><view v-for="(item,index) in list" :key="index" @click="clickRow(item, index)"><view style="display: flex;color: blue;">{{item.title}}</view></view></template><!-- 使用插槽,自定义list中的option组件:菜单组件颜色 > 红色【注意:使用v-slot:list时,v-slot:item将失效】 --><template v-slot:item="{ item }"><view style="color: red;text-align: center;"><image :src="item.icon" style="width: 25px;height: 25px;"></image>{{ item.title }}</view></template></ml-fab>
</template>
<script setup>import { ref } from 'vue';const fabOption = ref({iconPath: "../../static/icons/ml-fab-icon.png",selectIconPath: "../../static/icons/ml-fab-icon-o.png",color: "#fff",selectColor: "#007aff",fontSize: 13,fabSlot: true, // 开启插槽配置listSlot: true, // 开启插槽配置itemSlot: true, // 开启插槽配置fabBackground: "#a5a5a5",position: "right",list: [ // 最多支持配置 4 个{title: "收藏",icon: "../../static/icons/ml-fab-menu-item-m.png",selectIcon: "../../static/icons/ml-fab-menu-item-m-o.png"},{title: "搜索",icon: "../../static/icons/ml-fab-menu-item-s.png",selectIcon: "../../static/icons/ml-fab-menu-item-s-o.png"}]});
</script>

props

fabOption【组件配置项】

属性名类型默认值可选值说明是否必填
iconPathString--组件中的图标
selectIconPathString--选中组件时展示的图标
colorString#fff-组件中的字体颜色
selectColorString#007aff-选中组件后的字体颜色
fontSizeNumber13-组件中的字体大小
fabBackgroundString#a5a5a5-组件弹框的背景色
listArray--组件弹框的中显示的菜单配置项,最多展示4个
fabSlotBooleanfalsetrue使用插槽,自定义fab组件
listSlotBooleanfalsetrue使用插槽,自定义list组件
itemSlotBooleanfalsetrue使用插槽,自定义list中的option组件

list[option]【组件配置项】

属性名类型默认值可选值说明是否必填
titleString--弹框中的菜单名称
iconString--菜单图标
selectIconString--选中菜单时的图标
Any--其他自定义参数,点击后尽数返回-

事件 Events

事件名返回参数说明
@triggeropen(Boolen)返回true表示打开弹框,显示菜单,false则关闭
@clickRowoption(row, index)返回当前点击的option配置项参数以及当前菜单的索引

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

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

相关文章

同元软控受邀出席2024年工业软件与新质生产力创新发展论坛

近日&#xff0c;由广东省工业软件学会主办的“2024年工业软件与新质生产力创新发展论坛”在广州成功举办。同元软控深圳子公司副总经理周胜受邀出席&#xff0c;并作《数智驱动创新&#xff0c;科学计算与系统建模仿真加速新质生产力进化》主题演讲。 本次论坛集结工业软件界…

【IVI】CarService启动-Android13

【IVI】CarService启动-Android13 1、CarServiceImpl启动概述2、简要时序图 1、CarServiceImpl启动概述 【IVI】CarService启动&#xff1a; CarServiceHelperService中绑定CarServiceICarImpl初始化各种服务 packages/services/Car/README.md 2、简要时序图

PCIe物理层_CTLE(continuous time linear equalizer)

1.CTLE&#xff08;continuous time linear equalizer&#xff09; 的作用 信号在介质的传输过程中存在趋肤效应(skin effiect)和能量损耗&#xff0c;在接收端数据会存在失真&#xff0c;并且呈现出低通特性。什么意思呢&#xff1f;就是低频率的信号衰减幅度小&#xff0c…

音频接口电路的PCB设计

Audio接口是音频插孔&#xff0c;即音频接口&#xff0c;可分为Audio in接口和Audio out接口。音频接口是连接麦克风和其他声源与计算机的设备&#xff0c;其在模拟和数字信号之间起到了桥梁连接的作用。对于平台的数字音频接RK3588口&#xff0c;需遵循《Rockchip RK3588 High…

本地项目上传到GitHub上(李豆)

本地项目上传到GitHub上(李豆) 准备工作&#xff1a; 本地需要有 git 也需要有一个 GitHub 账号 首先需要在 GitHub 新建一个空仓库 在想要上传项目的文件夹中使用 Git 命令操作 初始化&#xff1a; git init与 github 仓库进行链接 &#xff1a;git remote add origin …

isspace()方法——判断字符串是否只由空格组成

自学python如何成为大佬(目录): https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 isspace()方法用于判断字符串是否只由空格组成。isspace()方法的语法格式如下&#xff1a; str.isspace() 如果字符串中只包含空格&…

[深入理解DDR] 总目录

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR》 蓝色的是传送门&#xff0c;点击链接即可到达指定文章。 图。 DDR 分类 导论 [RAM] DRAM 导论&#xff1a;DDR4 | DDR5 | LPDDR5 | GDRR6 | HBM 应运而生 运存与内存&#xff1f;内存与存…

AI大模型API:驱动人工智能创新的核心引擎

在当今快速发展的人工智能领域&#xff0c;AI大模型API成为了开发者必备的利器。这些API为开发者提供了强大的人工智能模型和算法&#xff0c;使他们能够轻松地构建智能化应用和解决方案。作为开发者&#xff0c;我们可以借助AI大模型API实现自然语言处理、图像识别、声音合成等…

Arduino IDE 的安装与esp32项目的创建

1打开官网下载 官网 1-1下载完成后安装即可&#xff0c;会弹出一些按安装提示点击安装 2切换为中文模式 2-1点击Flie&#xff0c;在点击图中高亮的位置&#xff0c;进入 2-2选择语言 3创建esp32项目 3-1在线安装&#xff08;不一定成功&#xff0c;可以一直试&#xff09; …

Vue3学习(一)

创建组件实例&#xff1a;我们传入 createApp 的对象实际上是一个组件 import { createApp } from vue // 从一个单文件组件中导入根组件 import App from ./App.vueconst app createApp(App) 大多数真实的应用都是由一棵嵌套的、可重用的组件树组成的。 App (root compone…

问题处理记录与深入:系统线程耗尽,Java无法调用native方法新建线程

1. 问题处理记录 1.1 问题描述 公司使用Presto作为OLAP查询引擎&#xff0c;Presto的coordinator节点在运行过程中报错 java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reachedat java.base/java.lang.Thre…

Google推出开源模型Gemma 2:性能大幅提升与创新训练方法

引言 近日&#xff0c;Google推出了开源模型Gemma 2&#xff0c;吸引了广大研究人员和开发者的关注。相比上一代模型&#xff0c;Gemma 2在性能和可用性方面实现了显著提升&#xff0c;提供了9B和27B两个版本&#xff0c;并且对外开放免费使用。本文将深入探讨Gemma 2的技术细…

架构师篇-10、DDD实战篇:通过领域模型落地系统

基于领域模型的设计与开发 数据库设计程序设计微服务设计 在线订餐系统的领域事件通知 微服务拆分 事件风暴会议 梳理领域事件进行领域建模识别聚合关系划分限界上下文 用户下单领域模型 更新后的模型 领域模型的设计实现过程 数据库设计 数据库映射&#xff1a;一对一关系…

SpringBoot使用redis 笔记(视频摘抄 哔哩哔哩博主(感谢!):遇见狂神)

springboot集成redis步骤 1.创建springboot项目 2.配置连接 3.测试 创建springboot项目 创建以一个Maven项目 创建之后查看pom.xml配置文件&#xff0c;可以看到 pom文件里面导入了 data-redis 的依赖&#xff0c;那我们就可以在知道&#xff0c;springboot集成redis操作…

计算机基础之汇编语言学习笔记

学习来源&#xff1a;b站各种学习资料 前置知识&#xff1a;计算机组成原理等知识 学习参考的资源 汇编语言编程的速成指南[上]~从零开始的期末抢救计划 &#xff08;8086汇编&#xff09;_哔哩哔哩_bilibili 链接: https://pan.baidu.com/s/1tg_ZW7VD3TS_s1v_EjS89w?pwdak6…

Uniapp 默认demo安装到手机里启动只能看得到底tab无法看到加载内容解决方案

Uniapp 默认demo安装到手机里以后&#xff0c;启动APP只能看到底tab栏&#xff0c;无法看到每个tab页对应的内容&#xff0c;HBuilder会有一些这样的报错信息&#xff1a; Waiting to navigate to: /pages/tabBar/API/API, do not operate continuously: 解决方案&#xff1a;…

分治精炼宝库-----快速排序运用(⌯꒪꒫꒪)੭

目录 一.基本概念: 一.颜色分类&#xff1a; 二.排序数组&#xff1a; 三.数组中的第k个最大元素&#xff1a; 解法一&#xff1a;快速选择算法 解法二&#xff1a;简单粗暴优先级队列 四.库存管理Ⅲ&#xff1a; 解法一&#xff1a;快速选择 解法二&#xff1a;简单粗…

Unity扩展编辑器功能的特性

1.添加分组标题 用于在Unity的Inspector视图中为属性或变量组创建一个自定义的标题或头部&#xff0c;有助于在Inspector中组织和分类不同的属性&#xff0c;使其更易于阅读和管理。 [Header("Common Properties")] public float MouseSensitivity 5; public float…

微服务中的Docker详细学习

Docker的个人理解 首先我对于Docker的理解分为两部分&#xff0c;第一是对名字上的理解&#xff0c;我们都知道docker的英文翻译是“码头工人”的意思&#xff0c;所以我们也可以理解为docker是码头上的一个个集装箱的使用。这也与他的图标很相似。其次我是对于其功能上的理解&…

Redis 高可用(理论)

目录 Redis 高可用 Redis 持久化 RDB 持久化 触发条件 手动触发 自动触发 ##其他自动触发机制## 执行流程 启动时加载 AOF 持久化 执行流程 &#xff08;1&#xff09;命令追加(append) &#xff08;2&#xff09;文件写入(write)和文件同步(sync) &#xff08;3&…