SwipeAction 滑动操作
示例
搭配列表使用
<List header="搭配列表使用">
{#each ['A', 'B', 'C'] as txt}
<SwipeAction>
<ListItem>{txt}</ListItem>
{#snippet leftActions()}
<Button class="border-0" color="primary" block>置顶</Button>
{/snippet}
{#snippet rightActions()}
<Space class="gap-0" block>
<Button color="cancel" block {onclick}>取消关注</Button>
<Button color="warning" block {onclick}>免打扰</Button>
<Button color="danger" block {onclick}>删除</Button>
</Space>
{/snippet}
</SwipeAction>
{/each}
</List>
图片预览
<SwipeAction>
<Image src="/images/sun-parakeet.jpg" alt="小太阳鹦鹉" />
{#snippet rightActions()}
<Button color="danger" block {onclick}>删除</Button>
{/snippet}
</SwipeAction>
手动控制归位逻辑
<script lang="ts">
let swipeActionStatus = $state<SwipeActionStatus>('close')
</script>
<SwipeAction bind:status={swipeActionStatus} keepOnAction keepOnTouchOutside>
<ListItem>ABC</ListItem>
{#snippet leftActions()}
<Button color="primary" block>置顶</Button>
{/snippet}
{#snippet rightActions()}
<Space class="gap-0" block>
<Button color="cancel" block {onclick}>取消关注</Button>
<Button color="warning" block {onclick}>免打扰</Button>
<Button color="danger" block {onclick}>删除</Button>
</Space>
{/snippet}
</SwipeAction>
<Space block>
<Button onclick={() => (swipeActionStatus = 'close')}>归位</Button>
<Button onclick={() => (swipeActionStatus = 'left')}>左侧打开</Button>
<Button onclick={() => (swipeActionStatus = 'right')}>右侧打开</Button>
</Space>
SwipeAction
属性
属性 |
说明 |
类型 |
默认值 |
status |
当前状态 |
'close' | 'left' | 'right' |
$bindable('close') |
leftActions |
左侧操作面板 |
Snippet |
undefined |
rightActions |
右侧操作面板 |
Snippet |
undefined |
keepOnAction |
点击操作面板时保持位置 |
boolean |
false |
keepOnTouchOutside |
点击其它区域时保持位置 |
boolean |
false |