ActionSheet 操作菜单
使用指南
在 page.json 中引入组件
"usingComponents": { "w-pane":"wuss-weapp/w-pane/index", "w-button":"wuss-weapp/w-button/index", "w-action-sheet":"wuss-weapp/w-action-sheet/index"}
视频演示
代码演示
<w-pane title="ActionSheet" desc="操作菜单" /><w-pane desc="Default" /><w-button type="info" data-key="1" bind:onClick="handleShow"> {{ visible1 ? 'show' : 'hide' }}</w-button><w-action-sheet data-key="1" visible="{{ visible1 }}" options="{{ items1 }}" bind:onChange="handleClick" bind:onClose="handleClose"/><w-pane desc="Icon" /><w-button type="info" data-key="2" bind:onClick="handleShow"> {{ visible2 ? 'show' : 'hide' }}</w-button><w-action-sheet data-key="2" visible="{{ visible2 }}" options="{{ items2 }}" bind:onChange="handleClick" bind:onClose="handleClose"/><w-pane desc="MaskCancel = False" /><w-button type="info" data-key="3" bind:onClick="handleShow"> {{ visible3 ? 'show' : 'hide' }}</w-button><w-action-sheet maskCancel="{{ false }}" data-key="3" visible="{{ visible3 }}" options="{{ items3 }}" bind:onChange="handleClick" bind:onClose="handleClose"/><w-pane desc="ShowCancel = False" /><w-button type="info" data-key="4" bind:onClick="handleShow"> {{ visible4 ? 'show' : 'hide' }}</w-button><w-action-sheet showCancel="{{ false }}" data-key="4" visible="{{ visible4 }}" options="{{ items4 }}" bind:onChange="handleClick" bind:onClose="handleClose"/><w-pane desc="CancelText = 退出" /><w-button type="info" data-key="5" bind:onClick="handleShow"> {{ visible5 ? 'show' : 'hide' }}</w-button><w-action-sheet cancelText="退出" data-key="5" visible="{{ visible5 }}" options="{{ items5 }}" bind:onChange="handleClick" bind:onClose="handleClose"/><w-pane desc="Loading" /><w-button type="info" data-key="6" bind:onClick="handleShow"> {{ visible6 ? 'show' : 'hide' }}</w-button><w-action-sheet cancelText="退出" data-key="6" visible="{{ visible6 }}" options="{{ items6 }}" bind:onChange="handleClick" bind:onClose="handleClose"/><w-pane desc="插件手动调用" /><w-button type="info" bind:onClick="handleClick2">ActionSheet.show()</w-button><w-action-sheet id="wuss-actionsheet" options="{{ items6 }}" bind:onChange="handleClick" bind:onClose="handleClose" />
data: { visible: false, items1: [ { text: '分享给朋友', type: 'share', openType: 'share', }, { text: '分享到朋友圈', type: 'shareTimeLine', openType: 'share', }, ], items2: [ { text: '分享给朋友', type: 'share', icon: 'forward-o', openType: 'share', }, { text: '分享到朋友圈', type: 'shareTimeLine', icon: 'share', openType: 'share', }, ], items3: [ { text: '分享给朋友', type: 'share', icon: 'forward-o', openType: 'share', }, { text: '分享到朋友圈', type: 'shareTimeLine', icon: 'share', openType: 'share', }, ], items4: [ { text: '分享给朋友', type: 'share', icon: 'forward-o', openType: 'share', }, { text: '分享到朋友圈', type: 'shareTimeLine', icon: 'share', openType: 'share', }, ], items5: [ { text: '分享给朋友', type: 'share', icon: 'forward-o', openType: 'share', }, { text: '分享到朋友圈', type: 'shareTimeLine', icon: 'share', openType: 'share', }, ], items6: [ { text: '分享给朋友', type: 'share', openType: 'share', }, { text: '分享到朋友圈', type: 'shareTimeLine', openType: 'share', }, ],},handleClick(e) { const key = e.currentTarget.dataset.key; const item = e.detail; if(item.type === 'hide') return ActionSheet.hide({}); if (key == 6) { this.setData( { [`items${key}[${item.key}].loading`]: true, }, () => { setTimeout(() => { this.setData({ [`items${key}[${item.key}].loading`]: false, [`visible${key}`]: false, }); }, 2000); } ); } else { this.setData({ [`visible${key}`]: false, }); }},handleClose(e) { const { key } = e.currentTarget.dataset; this.setData({ [`visible${key}`]: false });},handleShow(e) { const { key } = e.currentTarget.dataset; this.setData({ [`visible${key}`]: true });},handleClick2() { ActionSheet.show({ options: [{text: 'ActionSheet.hide()',type: 'hide'}], })},onShareAppMessage: function (res) { if (res.from === 'button') { // 来自页面内转发按钮 console.log(res.target) } return { title: '自定义转发标题', path: '/page/user?id=123' }}
API
Attribute 属性
| 属性 |
说明 |
类型 |
默认值 |
| visible |
是否可见 |
boolean |
false |
| options |
当前传出的菜单列表 item属性有color,openType,loading,icon,iconSize,disabled,iconColor,text |
array |
[] |
| maskCancel |
点击遮罩是否可关闭 |
boolean |
false |
| showCancel |
是否展示取消按钮 |
boolean |
false |
| cancelText |
取消按钮文字 |
string |
取消 |
Event 事件
| 事件名 |
说明 |
参数 |
| onClose |
取消回调 |
—— |
| onChange |
值被改变时触发 |
e.detail.value |
Slot 插槽
Class 自定义类名