# ActionSheet
# 介绍
从屏幕下方移入的操作表。
# 引入
"usingComponents": {
"m-action-sheet": "mind-ui-weapp/action-sheet/index"
}
# 示例
# 基础用法
动作面板通过 actions
属性来定义选项,actions
属性是一个由对象构成的数组,数组中的每个对象配置一列,对象格式见文档 Api
。
<m-action-sheet
visible="{{ visible }}"
actions="{{ actions }}"
bind:cancel="handleCancel"
bind:click="handleClickItem"
/>
Page({
data: {
visible: false,
actions: [
{
name: '选项1'
},
{
name: '选项2',
loading: true
},
{
name: '选项3',
icon: 'movie',
color: '#409EFF'
}
]
},
// 打开 actoin-sheet 组件
handleOpen() {
this.setData({
visible: true
});
},
// 关闭 action-sheet 组件
handleCancel() {
this.setData({
visible: false
});
},
// 点击了选项
handleClickItem({ detail }) {
// 选项索引值
const index = detail.index
}
})
# 显示取消按钮
设置 show-cancel
属性后,会在底部展示取消按钮,点击后关闭当前面板并触发 cancel
事件。
<m-action-sheet
show-cancel
:visible="{{ visible }}"
:actions="{{ actions }}"
bind:cancel="handleCancel"
bind:click="handleClickItem"
/>
# 自定义头部
<m-action-sheet
visible="{{ visible }}"
actions="{{ actions }}"
show-cancel
bind:cancel="handleCancel"
bind:click="handleClickItem"
mask-closable="{{ false }}"
>
<view slot="header">
<view>确定吗?</view>
<text>删除后无法恢复哦</text>
</view>
</m-action-sheet>
Page({
data: {
visible: false,
actions: [
{
name: '删除',
color: '#ed3f14'
}
]
},
handleOpen() {
this.setData({
visible: true
});
},
handleCancel() {
this.setData({
visible: false
});
},
// 点击删除项
handleClickItem() {
let action = [...this.data.actions]
action[0].loading = true
this.setData({
actions: action
})
setTimeout(() => {
action[0].loading = false
this.setData({
visible: false,
actions: action
});
}, 2000)
}
})
微信开放能力
<m-action-sheet
visible="{{ visible }}"
actions="{{ actions }}"
show-cancel
bind:cancel="handleCancel"
bind:click="handleClickItem"
/>
Page({
data: {
visible: false,
actions: [
{
name: '获取用户手机号',
openType: 'getPhoneNumber'
}
]
},
getPhoneNumber({ detail }) {
console.log(detail)
},
handleOpen() {
this.setData({
visible: true
})
},
handleCancel() {
this.setData({
visible: false
})
}
})
# Properties
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
visible | 是否显示 | Boolean | — | false |
mask-closable | 是否允许点击遮罩层关闭 | Boolean | — | true |
actions | 菜单选项 | Array | — | — |
show-cancle | 是否显示取消按钮 | Boolean | — | true |
cancle-text | 取消按钮内容 | String | — | 取消 |
# Actions
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
name | 选项内容 | String | — | — |
color | 选项颜色 | String | — | — |
icon | 内置图标或图片地址 | String | — | — |
loading | 加载状态 | Boolean | — | false |
disabled | 是否禁用 | Boolean | — | false |
openType | 微信开放能力 | Function | — | — |
# ActionSheet slot
名称 | 说明 |
---|---|
header | 自定义标题栏 |
# Event
方法名称 | 说明 | 返回值 |
---|---|---|
bind:click | 选项点击回调 | actions 索引值 index |
bind:cancle | 取消点击回调 | — |