更新记录
1.0.0(2023-12-28)
下载此版本
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.98 app-uvue |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-swipe-action-x 滑动动画
通过滑动触发选项的容器,容器内可放置列表等组件,通过左右滑动来触发一些操作。
注意:当前版本只支持 uni-app x
使用组件
注意:uni-swipe-action-x 和 uni-swipe-action-item 需要同时使用
基本用法
在 template
中使用组件
<template>
<uni-swipe-action-x @change="swipeChange">
<!-- 基础用法 -->
<uni-swipe-action-item :right-options="options" :left-options="options" @btnClick="btnClick" >
<view>SwipeAction 基础使用场景</view>
</uni-swipe-action-item>
<!-- 使用插槽 (请自行给定插槽内容宽度)-->
<uni-swipe-action-item>
<template #left>
<view><text>置顶</text></view>
</template>
<view>
<text >使用插槽</text>
</view>
<template #right>
<view><text>删除</text></view>
</template>
</uni-swipe-action-item>
<!-- 混合用法 -->
<uni-swipe-action-item :right-options="options">
<template #left>
<view><text>置顶</text></view>
</template>
<view><text>混合使用</text></view>
</uni-swipe-action-item>
</uni-swipe-action-x>
<!-- 禁止滑动 -->
<uni-swipe-action-x>
<uni-swipe-action-item :disabled="true" :right-options="options">
<view>SwipeAction 基础使用场景</view>
</uni-swipe-action-item>
</uni-swipe-action-x>
<!-- 按组使用 -->
<uni-swipe-action-x>
<uni-swipe-action-item :right-options="options" @btnClick="btnClick">
<view >item1</view>
</uni-swipe-action-item>
<uni-swipe-action-item :right-options="options" @btnClick="btnClick">
<view>item2</view>
</uni-swipe-action-item>
<uni-swipe-action-item :right-options="options" @btnClick="btnClick">
<view>item3</view>
</uni-swipe-action-item>
</uni-swipe-action-x>
</template>
<script>
import { OptionPropType, ChangeEventType, ClickEventType ,DoneCallback} from '@/uni_modules/uni-swipe-action-x/types.uts'
export default {
data(){
return {
options:[
{
text: '取消',
style: {
backgroundColor: '#007aff'
}
}, {
text: '确认',
style: {
backgroundColor: '#dd524d'
}
}
] as OptionPropType[]
}
},
methods:{
btnClick(event:ClickEventType,done:DoneCallback){
console.log('点击了'+(e.type == 'left' ? '左侧' : '右侧') + e.data.text + '按钮')
// 其他逻辑 ...
// 需要主动执行done方法关闭组件
done()
},
swipeChange(event:ChangeEventType,index){
console.log('当前打开状态:'+ event.type +',下标:' + event.index)
}
}
}
</script>
属性/方法
SwipeActionX Events
属性名 |
类型 |
说明 |
change |
(event:ChangeEventType)=>void |
组件打开或关闭时触发 |
SwipeActionX Methond
属性名 |
类型 |
说明 |
closeAll |
()=>void |
关闭所有已经打开的组件 |
示例
<template>
<uni-swipe-action-x ref="swipeAction">
<uni-swipe-action-item :auto-close="false" :right-options="options">
<view >item1</view>
<template #right>
<view @click="closeAll"><text>置顶</text></view>
</template>
</uni-swipe-action-item>
<uni-swipe-action-item :auto-close="false" :right-options="options">
<view>item2</view>
<template #right>
<view @click="closeAll"><text>置顶</text></view>
</template>
</uni-swipe-action-item>
<uni-swipe-action-item :auto-close="false" :right-options="options">
<view>item3</view>
<template #right>
<view @click="closeAll"><text>置顶</text></view>
</template>
</uni-swipe-action-item>
</uni-swipe-action-x>
<button @click="closeAll">关闭所有已经打开的组件</button>
</template>
<script>
export default {
data(){
return {
options:[
{
text: '取消',
style: {
backgroundColor: '#007aff'
}
}, {
text: '确认',
style: {
backgroundColor: '#dd524d'
}
}
] as OptionPropType[]
}
},
methods:{
closeAll(){
// 通过ref获取组件实例,ref 用法参考:https://doc.dcloud.net.cn/uni-app-x/component/#method-easycom
// 通常使用插槽时,不会触发 @btnClick 事件,需要主动调用 closeAll 来关闭组件
const ref = (this.$refs['swipeAction'] as UniSwipeActionXComponentPublicInstance)
ref.closeAll()
}
}
}
</script>
ChangeEventType 属性
属性名 |
类型 |
说明 |
index |
Number |
组件索引 ,按加载顺序递增,删除组件其他索引不会改变 |
type |
String |
类型,left:左侧打开,right:右侧打开,none:关闭 |
SwipeActionItem Props
属性名 |
类型 |
可选值 |
默认值 |
说明 |
show |
String |
left/right/none |
none |
开启关闭组件 |
threshold |
Number |
- |
30 |
滑动阈值 |
autoClose |
Boolean |
- |
false |
其他组件开启的时候,当前组件是否自动关闭 |
disabled |
Boolean |
- |
false |
是否禁止滑动 |
leftOptions |
OptionPropType[] |
- |
- |
左侧选项内容及样式 |
rightOptions |
OptionPropType[] |
- |
- |
右侧选项内容及样式 |
OptionPropType 属性
属性名 |
类型 |
必填 |
说明 |
text |
string |
是 |
按钮显示文字 |
style |
OptionStyleType |
否 |
按钮样式 |
OptionStyleType 属性
属性名 |
类型 |
必填 |
说明 |
backgroundColor |
String |
否 |
按钮背景色,默认值:#C7C6CD |
color |
String |
否 |
按钮前景色,默认值:#ffffff |
SwipeActionItem Events
属性名 |
类型 |
说明 |
btnClick |
(event:ClickEventType,done:DoneCallback)=>void |
点击按钮触发,如果使用插槽,则不生效,(注意:目前点击按钮不会自动关闭组件,需要主动调用第二个参数done() 或者使用组件方法 closeAll()关闭组件) |
ChangeEventType 属性
属性名 |
类型 |
说明 |
index |
Number |
点击按钮索引,以按钮组位基准,左侧起始为 0 |
type |
String |
类型,left:左侧打开,right:右侧打开,none:关闭 |
data |
OptionPropType |
按钮文本样式 ,见 OptionPropType 说明 |