# ActionSheet 上拉菜单
概述
ActionSheet 上拉菜单,从底部弹出的模态框,提供和当前场景相关的操作菜单。
# 支持平台
App-vue | App-Nvue | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 | H5 | PC | 快手小程序 | 钉钉小程序 |
---|---|---|---|---|---|---|---|---|---|---|
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
温馨提示
一般来说我们会通过 z-index + position 来进行层级的设置,但是 weex (Nvue)不支持 z-index 设置层级关系,默认越靠后的元素层级越高。
# 引入
以下介绍两种常用的引入方式。
第一种:在页面中引用、注册
import fuiActionsheet from "@/components/firstui/fui-actionsheet/fui-actionsheet.vue"
export default {
components:{
fuiActionsheet
}
}
1
2
3
4
5
6
2
3
4
5
6
第二种:easycom组件规范
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。
First UI easycom配置请查看 快速上手。
如果不了解easycom,可先查看 官网文档 (opens new window)。
# 代码演示
部分示例演示,完整使用请参考示例程序以及文档API(以下示例写于.vue页面中)。
带提示信息
通过 show
属性控制是否显示上拉菜单,tips
属性设置提示信息,itemList
属性设置菜单按钮数据。
<fui-actionsheet :show="show" :tips="tips" :itemList="itemList"></fui-actionsheet>
1
data() {
return {
show: false,
tips: '退出后不会删除任何历史数据,下次登录依然可以使用本账号。',
itemList: [{
text: '退出登录',
color: '#FF2B2B'
}]
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
无取消按钮
通过 show
属性控制是否显示上拉菜单,tips
属性设置提示信息,isCancel
属性设置是否需要取消按钮,itemList
属性设置菜单按钮数据。
<fui-actionsheet :show="show" :tips="tips" :isCancel="isCancel" :itemList="itemList"></fui-actionsheet>
1
data() {
return {
show: false,
tips: '请选择性别',
isCancel:false,
itemList: ['男', '女', '未知']
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# Slots
插槽名称 | 说明 |
---|---|
- | - |
# Props
属性名 | 类型 | 说明 | 默认值 | 平台差异说明 |
---|---|---|---|---|
show | Boolean | 是否显示上拉菜单 | false | - |
itemList | Array | 菜单按钮数组,可传入两种数据格式,详见下方介绍 | [ ] | - |
textKey V2.4.0+ | String | itemList数据中 text 值指定的key | text | - |
itemSize | Number, String | 菜单按钮字体大小,单位rpx | 32 | - |
itemColor V2.4.0+ | String | 菜单按钮light模式下字体颜色,theme=light时有效 | #181818 | - |
itemDarkColor V2.4.0+ | String | 菜单按钮dark模式下字体颜色,theme=dark时有效 | #D1D1D1 | - |
tips | String | 提示信息 | - | - |
color | String | 提示信息文本颜色 | #7F7F7F | - |
size | Number, String | 提示信息字体大小,单位rpx | 26 | - |
radius | Boolean | 上拉菜单是否带圆角 | true | - |
isCancel | Boolean | 是否需要取消按钮 | true | - |
cancelSize V2.4.0+ | Number, String | 取消按钮字体大小,单位rpx | 32 | - |
theme | String | 上拉菜单主题。可选值:light、dark。 | light | - |
maskClosable | Boolean | 点击遮罩是否可关闭上拉菜单 | false | - |
zIndex | Number, String | 上拉菜单层级z-index值 | 1001 | Nvue端不支持,默认越靠后的元素层级越高 |
safeArea V1.5.0+ | Boolean | 是否适配底部安全区 | true | - |
//itemList 数据格式说明
//数据格式一,字符串数组
itemList: ['男', '女', '未知']
//数据格式二,以下为约定属性,其他属性可自行增加
itemList: [{
//菜单按钮文本,可使用 textKey 属性指定key
text: '退出登录',
//菜单按钮文本颜色(主题(theme)为 light 下使用)
color: '#181818',
//菜单按钮文本颜色(主题(theme)为 dark 下使用)
darkColor:'#D1D1D1',
//字体大小,优先级高于属性 itemSize(V2.4.0+)
size:32
}]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Events
事件名 | 说明 | 回调参数 |
---|---|---|
@click | 点击上拉菜单按钮时触发 | { index:按钮索引, ...this.itemList[index] } |
@cancel | 点击遮罩层(maskClosable=true)或者取消按钮时触发 | - |