更新记录

0.0.9(2025-08-31) 下载此版本

  • chore: 更新文档

0.0.8(2025-04-26) 下载此版本

  • feat: 兼容uniappx 鸿蒙next

0.0.7(2025-04-12) 下载此版本

  • chore: 更新文档
查看更多

平台兼容性

uni-app(4.73)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- 5.0
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - -

uni-app x(4.75)

Chrome Safari Android iOS 鸿蒙 微信小程序
5.0

其他

多语言 暗黑模式 宽屏模式
× ×

lime-action-sheet 动作面板

一个功能丰富的动作面板组件,用于展示一组与当前情境相关的操作选项。支持标题、取消按钮、自定义内容等多种配置,可用于分享、操作确认、筛选等多种场景。组件提供了丰富的自定义选项,可以满足各种复杂的交互需求。

插件依赖:lime-sharedlime-style

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场中搜索并导入lime-action-sheet
  2. 导入后可能需要重新编译项目
  3. 在页面中使用l-action-sheet组件

代码演示

基础用法

动作面板通过 list 属性来定义选项,list 属性是一个由对象构成的数组,数组中的每个对象配置一列,对象格式见文档下方表格。

<button @click="show = true">基础用法</button>
<l-action-sheet v-model="show" :list="list" @select="" />
const show = ref(false);
const list = [
      { label: '选项一' },
      { label: '选项二' },
      { label: '选项三' },
    ];
const  = (index:number) => {
   console.log('index', index)
};

展示图标

使用 listicon 字段可以为选项设置图标。

<button @click="show = true">展示图标</button>
<l-action-sheet v-model="show" :list="list" @select="" />
const show = ref(false);
const list = [
    { label: '选项一', icon: 'app'},
    { label: '选项二', icon: 'app'},
    { label: '选项三', icon: 'app'},
];
const  = (index:number, item: UTSJSONObject) => {
   console.log('index', index)
};

展示取消按钮

设置 cancel-text 属性后,会在底部展示取消按钮,点击后关闭当前面板并触发 cancel 事件。

<button @click="show = true">展示图标</button>
<l-action-sheet v-model="show" :list="list" @cancel="onCancel" cancel-text="取消"/>
const show = ref(false);
const list = [
    { label: '选项一' },
    { label: '选项二' },
    { label: '选项三' },
];
const onCancel = () => {
    console.log('取消')
};

展示描述信息

通过 description 可以在菜单顶部显示描述信息。

<l-action-sheet
  v-model="show"
  :list="list"
  cancel-text="取消"
  description="这是一段描述信息"
/>
const show = ref(false);
const list = [
    { label: '选项一' },
    { label: '选项二' },
    { label: '选项三' },
];

选项状态

可以通过 disabled 将选项设置为禁用状态,或者通过color设置选项的颜色

<l-action-sheet
  v-model="show"
  :list="list"
  cancel-text="取消"
/>
const show = ref(false);
const actions = [
    { label: '着色选项', color: '#ee0a24' },
    { label: '禁用选项', disabled: true },
];

宫格型

通过rowCol属性设置每行列数,如[4, 8]表示第一行有4列,第二行有8列。超过4列时会出现滚动条。

<l-action-sheet v-model="show" :rowCol="[4, 8]" :list="grid" @select="select" cancelText="取消" description="这是一段描述信息"></l-action-sheet>
const show = ref(false);
const grid = [
    { label: '微信', icon: 'https://tdesign.gtimg.com/mobile/demos/wechat.png', radius: '0' }, //设置圆角
    { label: '朋友圈', icon: 'https://tdesign.gtimg.com/mobile/demos/times.png', radius: '0' },
    { label: 'QQ', icon: 'https://tdesign.gtimg.com/mobile/demos/qq.png', radius: '0' },
    { label: '企业微信', icon: 'https://tdesign.gtimg.com/mobile/demos/wecom.png', radius: '0'},
    { label: '收藏', icon: 'share', color: '#ddd' }, //文本或图标颜色
    { label: '下载', icon: 'download', iconColor: '#ddd' },//图标颜色
    { label: '编辑', icon: 'edit', bgColor: '#0bc15f'},//图标背景颜色
    { label: '选项', icon: 'app',fontSize: '28rpx' },//文本或图标大小
    { label: '选项', icon: 'app' },
    { label: '选项', icon: 'app', disabled: true},
    { label: '选项', icon: 'app' },
    { label: '选项', icon: 'app' },
]

Vue2使用说明

main.js中添加以下代码:

// vue2项目中使用
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

详细配置请参考官方文档:Vue Composition API

插件标签说明

l-action-sheet 为组件标签
lime-action-sheet 为演示标签

API文档

Props 属性说明

参数 说明 类型 默认值
visible 是否显示动作面板 boolean false
v-model 是否显示动作面板 boolean false
list 面板选项列表 ActionSheetItem[] []
title 顶部标题 string -
cancel-text 取消按钮文字 string -
align 对齐方式,可选center\|left string center
description 选项上方的描述信息 string -
overlay 是否显示遮罩层 boolean true
safe-area-inset-bottom 是否开启底部安全区适配 boolean true
rowCol 横向排列的每行菜单项数量 (例如 [4, 4]表示两行,每行最多 4 个选项) number[] -
bordered 是否显示菜单项之间的边框/分割线 boolean true
closeable 是否显示关闭图标 boolean true

list 数据结构

list 属性是一个由对象构成的数组,数组中的每个对象配置一列,对象可以包含以下值:

键名 说明 类型
label 标题 string
color 选项文字颜色 string
icon 选项图标名称或图片链接 string
iconColor 选项图标颜色 string
bgColor 选项图标背景颜色 string
fontSize 选项字体大小 string
radius 选项图标圆角 string
disabled 是否为禁用状态 boolean

Events 事件

事件名 说明 回调参数
select 点击选项时触发 (index: number, item: UTSJSONObject)
cancel 点击取消按钮时触发 -

Slots 插槽

名称 说明
default 自定义面板内容
description 自定义描述文案
title 自定义标题栏

主题定制

组件提供了以下CSS变量,可以通过自定义CSS变量来自定义组件样式:

变量名称 默认值 描述
--l-action-sheet-item-height 56px 选项项高度
--l-action-sheet-font-size $font-size-md 选项文字大小
--l-action-sheet-color $text-color-1 选项文字颜色
--l-action-sheet-border-radius $border-radius-lg 面板圆角半径
--l-action-sheet-border-color $border-color-2 边框颜色
--l-action-sheet-hover-color $gray-3 悬停背景色
--l-action-sheet-item-disabled-color $text-color-4 禁用选项颜色
--l-action-sheet-gap-color $bg-color-page 间隔区域背景色
--l-action-sheet-cancel-bg-color $bg-color-container 取消按钮背景色
--l-action-sheet-title-font-size 18px 标题文字大小
--l-action-sheet-title-color $text-color-1 标题文字颜色
--l-action-sheet-title-font-weight 700 标题字重
--l-action-sheet-description-color $text-color-3 描述文字颜色
--l-action-sheet-description-font-size $font-size 描述文字大小
--l-action-sheet-image-size 48px 网格图片尺寸
--l-action-sheet-image-bg-color $fill-3 网格图片背景色
--l-action-sheet-col-font-size $font-size-sm 网格文字大小
--l-action-sheet-col-icon-size 24px 网格图标大小
--l-action-sheet-gap-height $spacer-xs 间隔区域高度
--l-action-sheet-title-padding $spacer 标题内边距
--l-action-sheet-close-btn-spacing $spacer 关闭按钮边距
--l-action-sheet-col-text-padding $spacer-sm 网格文字上边距

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助
支付宝赞赏码 微信赞赏码

隐私、权限声明

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

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

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

许可协议

MIT协议