更新记录

1.0.1(2025-04-22)

增加菜单图标功能


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.0 app-vue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

xt-bubble-menu 文档

  1. 支持数据绑定:给组件绑定一个localdata,会自动渲染一组菜单内容。
  2. 支持自定义三角箭头方向和位置偏移:菜单三角箭头可自定义设置top、bottom、left、right四个方向及位置偏移量设置。
  3. 支持$emit事件:菜单item点击事件、菜单显示时的遮罩点击事件。
  4. 支持菜单item图标样式:自定义启用和关闭带图标功能及样式设置。
  5. 兼容情况:开发版本为HBuilderX 4.24,在H5端和APP端能正常使用。

安装方式

将组件文件夹复制粘贴到你项目中的components目录,即可在页面template中直接使用,无需import和注册。

属性

属性名 类型 可选值 默认值 说明
localdata Array - - 本地渲染数据,格式为数组,数组内每项是对象。数据格式:[{text:'',value:'',icon:''}]
direction String direction-top、direction-bottom、direction-left、direction-right - 三角箭头显示样式类名,对应上、下、左、右方向
top String - - 相对父级顶部边缘偏移量,默认单位px
bottom Number, String - - 相对父级底部边缘偏移量,默认单位px
left Number, String - - 相对父级左侧边缘偏移量,默认单位px
right Number, String - - 相对父级右侧边缘偏移量,默认单位px
width Number, String - 100% 菜单宽度,默认单位px
flexDirection String row column 菜单排列方向
offset String - - 菜单三角箭头位置偏移量,默认单位px,箭头位置默认水平居中或垂直居中
enableIcons Boolean - false 启用菜单图标
iconType String - right 菜单图标类型,根据uni-icons组件有效值进行填写
iconColor String - #ccc 菜单图标颜色
iconSize Number, String - 20 菜单图标大小
maskCloseMenu Boolean - true 启用点击遮罩关闭气泡菜单。若不启用,设置为:maskCloseMenu='false',此时点击遮罩不会关闭菜单。

事件

事件名 事件说明 返回参数
@maskClick 菜单遮罩层点击事件,可在父页面中自定义对应的事件处理。根据maskCloseMenu属性值来设定是否关闭气泡菜单。 -
@menuItemClick 菜单列表项点击事件,可在父页面中自定义对应的事件处理。点击列表项,气泡菜单自动关闭。 -

基本用法

<template>
    <view style="position:relative;">
        <text @click="showBubbleMenu">气泡菜单</text>

        <!-- 气泡菜单,相对顶层定位 -->
        <xt-bubble-menu :localdata="message.bubbleMenuData" direction="direction-right" 
        :top="show.bubbleMenuTop" right="70" width="100" offset="15" 
        @maskClick="onMaskClick" @menuItemClick="onMenuItemClick">
        </xt-bubble-menu>
    </view>
</template>
<script>
    import {
        loadtreeObj,
        Request,
        ShowToast,
        SetStorage
    } from '@/common/utils.js'

    export default {
        data() {
            return {
                //气泡菜单数据
                bubbleMenuBaseData: [{
                        text: "上移",
                        value: 1,
                        icon:'arrow-up'
                    },
                    {
                        text: "下移",
                        value: 2,
                        icon:'arrow-down'
                    },
                    {
                        text: "修改",
                        value: 3,
                        icon:'compose'
                    },
                    {
                        text: "删除",
                        value: 4,
                        icon:'trash'
                    },
                    {
                        text: "新增",
                        value: 5,
                        icon:'plus'
                    }
                ],
            }
        },

        methods: {          

            //气遮罩点击事件
            onMaskClick() {
                console.log("onMaskClick")
            },

            //菜单项单击事件
            onMenuItemClick() {
                console.log("onMenuItemClick")
            }
        }
    }
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问