showPopMenu 显示弹出菜单
优质
小牛编辑
129浏览
2023-12-01
Since 9.9
showPopMenu
右上角显示弹出的下拉菜单,如果设置了icon那么每一个菜单项都要求有icon,要不都没有icon。
特别注意,请右上角为默认三个点的时候不要调用本接口,右上角为自定义图片或者文字的时候可以调用。
注意:tag是必选项 该API在9.9版本之后可以使用
使用方法
AlipayJSBridge.call('showPopMenu', {
menus:[
{ name: "字体", tag: "tag1", redDot: "101" },
{ name: "菜单项2", tag: "tag2", redDot: "0" },
{ name: "菜单项3", tag: "tag3" }
]
}, function () {
});
代码演示
设置弹出菜单栏
<h1>请点击右上角弹出的菜单</h1>
<script>
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
AlipayJSBridge.call('setOptionMenu', {
title : '点我',
redDot : '-1'
});
AlipayJSBridge.call('showOptionMenu');
document.addEventListener('optionMenu', function(e) {
AlipayJSBridge.call('showPopMenu', {
menus:[
{ name: "字体", tag: "tag1", redDot: "101" },
{ name: "菜单项2", tag: "tag2", redDot:"0" },
{ name: "菜单项3", tag: "tag3" },
{ name: "菜单项4", tag: "tag4", redDot: "66" }
]
}, function(e) {
console.log(e);
});
}, false);
document.addEventListener('popMenuClick', function(e) {
alert(JSON.stringify(e.data));
}, false);
});
</script>
查看演示 扫码查看 用支付宝扫码运行API
AlipayJSBridge.call('showPopMenu', {
menus: [{name, tag, icon,redDot}]
}, fn)
入参
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|---|---|---|---|---|
menus | array | 菜单列表,显示于容器默认菜单项的右上角。 name:表示菜单项显示内容,建议在4个字符以内; icon:可自定义icon,传入图片url(非必填)图片大小iOS中需要为42*42大小的图片; 当菜单被点击后,点击的的name会返回会通过popMenuClick事件返回; | Y | ||
icon | string | 右按钮图标url | N | ||
name | string | 菜单显示的内容 | Y | ||
tag | string | tag用于区分选项 | Y | ||
redDot | string | 是否显示小红点 | N | ||
fn | function | api调用后的回调函数 | N |