Skip to content
12:13

TnBubbleBox-气泡弹框

该组件一般用在有附加选项的内容,点击内容时弹出的气泡弹框,比如点击一个商品时,弹出的气泡弹框中有加入购物车、收藏、分享等选项。

组件位置

typescript
import TnBubbleBox from '@tuniao/tnui-vue3-uniapp/components/bubble-box/src/bubble-box.vue'
import TnBubbleBox from '@tuniao/tnui-vue3-uniapp/components/bubble-box/src/bubble-box.vue'
typescript
import TnBubbleBox from '@/uni_modules/tuniaoui-vue3/components/bubble-box/src/bubble-box.vue'
import TnBubbleBox from '@/uni_modules/tuniaoui-vue3/components/bubble-box/src/bubble-box.vue'

平台差异说明

App(vue)H5微信小程序支付宝小程序...
适配中

基础使用

通过默认slot插槽来设置气泡弹框的内容

通过options设置气泡框的选项,通过选项的text设置文本内容,通过icon设置图标,通过textColor设置字体颜色,通过disabled设置禁止点击当前的选项,如果在选项中单独设置了disabled,则以选项中的disabled为准

vue
<script lang="ts" setup>
import type { BubbleBoxOption } from '@tuniao/tnui-vue3-uniapp'

const bubbleOptions: BubbleBoxOption = [
  { text: '收藏', icon: 'star-fill' },
  { text: '分享', icon: 'share-triangle' },
]
</script>

<template>
  <TnBubbleBox :options="bubbleOptions">
    <view>点击弹出气泡框</view>
  </TnBubbleBox>
</template>
<script lang="ts" setup>
import type { BubbleBoxOption } from '@tuniao/tnui-vue3-uniapp'

const bubbleOptions: BubbleBoxOption = [
  { text: '收藏', icon: 'star-fill' },
  { text: '分享', icon: 'share-triangle' },
]
</script>

<template>
  <TnBubbleBox :options="bubbleOptions">
    <view>点击弹出气泡框</view>
  </TnBubbleBox>
</template>
vue
<script lang="ts" setup>
import type { BubbleBoxOption } from '@/uni_modules/tuniaoui-vue3'

const bubbleOptions: BubbleBoxOption = [
  { text: '收藏', icon: 'star-fill' },
  { text: '分享', icon: 'share-triangle' },
]
</script>

<template>
  <tn-bubble-box :options="bubbleOptions">
    <view>点击弹出气泡框</view>
  </tn-bubble-box>
</template>
<script lang="ts" setup>
import type { BubbleBoxOption } from '@/uni_modules/tuniaoui-vue3'

const bubbleOptions: BubbleBoxOption = [
  { text: '收藏', icon: 'star-fill' },
  { text: '分享', icon: 'share-triangle' },
]
</script>

<template>
  <tn-bubble-box :options="bubbleOptions">
    <view>点击弹出气泡框</view>
  </tn-bubble-box>
</template>

设置气泡框的位置

可以通过position设置气泡框的位置,可选值为topbottomleftright,默认为top

注意

开发者在使用气泡框的时候注意页面预留的位置是否足够,否则气泡框会被遮挡

vue
<template>
  <TnBubbleBox :options="bubbleOptions" position="bottom">
    <view>点击弹出气泡框</view>
  </TnBubbleBox>
</template>
<template>
  <TnBubbleBox :options="bubbleOptions" position="bottom">
    <view>点击弹出气泡框</view>
  </TnBubbleBox>
</template>

气泡弹框的宽高信息

默认情况下,气泡弹框的宽高信息是根据内容自适应的,如果需要设置气泡弹框的宽高信息,可以通过widthheight来设置,默认单位 rpx

如果设置的高度比内容高度低时,气泡弹框内的内容可以滚动

vue
<template>
  <TnBubbleBox
    :options="bubbleOptions"
    position="bottom"
    width="360"
    height="80"
  >
    <view>点击弹出气泡框</view>
  </TnBubbleBox>
</template>
<template>
  <TnBubbleBox
    :options="bubbleOptions"
    position="bottom"
    width="360"
    height="80"
  >
    <view>点击弹出气泡框</view>
  </TnBubbleBox>
</template>

API

Props

属性名说明类型默认值可选值
options气泡弹框选项BubbleBoxOption[]-
position气泡弹框弹出位置Stringtopbottom \ left \ right
width气泡弹框的宽度,默认单位 rpxString--
height气泡弹框的高度,默认单位 rpxString--
bg-color弹框背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgbaString--
text-color选项文字颜色,支持图鸟内置的颜色值、hex、rgb、rgbaString--
option-item-padding选项内边距String--
disabled禁止选择选项Booleanfalsetrue
auto-close点击选项后自动关闭气泡框Booleantruefalse
z-indexzIndexNumber10020-

Emits

事件名说明类型
open气泡弹框打开触发事件() => void
close气泡弹框关闭触发事件() => void
click选项点击事件(index: number) => void

BubbleBoxOption = BubbleBoxOptionItem[]

BubbleBoxOptionItem

属性名说明类型默认值可选值必填
text选项内容String--
icon选项图标String-图标有效值
textColor选项文字颜色,支持图鸟内置的颜色值、hex、rgb、rgbaString--
disabled禁止点击选项Booleanfalsetrue

Tuniao UI