Skip to content

NoticeBar 通知栏

该组件用于滚动通告场景,有多种模式可供选择

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序
兼容中兼容中兼容中兼容中

基本使用

  • 通过list数组参数设置需要滚动的内容
  • 滚动mode参数有两种模式,分别是horizontal水平滚动,vertical垂直滚动。其中在水平滚动模式下又可以通过circular来配置是衔接滚动(true)还是步进滚动(false), 衔接滚动滚动会把list数组元素拼接成一个字符串形式(用逗号进行分隔)进行滚动
vue
<template>
  <view>
    <tn-notice-bar :list="list" mode="horizontal"></tn-notice-bar>

    <tn-notice-bar :list="list" mode="horizontal" :circular="false"></tn-notice-bar>

    <tn-notice-bar :list="list" mode="vertical"></tn-notice-bar>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        list: [
          'TuniaoUI现已发布V1.0.0',
          '今天天气晴朗,适合处理bug',
          'TuniaoUIV2.0.0即将发布',
          '今天想提前下班,领导不允许:"你提前走人就算你是旷工了啊!"'
        ]
      }
    }
  }
</script>

设置背景和字体颜色

可以通过backgrundColorfontColor来设置颜色信息。设置通知栏的颜色可以使用TuniaoUI内置样式中的颜色值进行设置

vue
<tn-notice-bar :list="list" mode="horizontal" backgroundColor="tn-bg-red" fontColor="#FFFFFF"></tn-notice-bar>

自定义图标

可以通过设置leftIconrightIcon为true来控制是否显示左右两边的图标,默认时显示左图标。

  • 通过leftIconNamerightIconName来设置图标的名称(TuniaoUI中自带的)。
  • 通过leftIconSizerightIconSize来设置图标的大小(单位rpx)。
vue
<tn-notice-bar :list="list" :leftIcon="true" :rightIcon="true"></tn-notice-bar>

设置滚动速度

  • modevertical(垂直滚动),或者modehorizontalcircularfalse时,两者都可视为"步进"滚动,此时通过duration设置滚动周期时长,单位为ms
  • modehorizontalcirculartrue时,可视为"水平衔接滚动",此时TuniaoUI加入了一个滚动因子参数,可确保在任意多内容情况下,滚动速度恒定不变, 可通过speed参数配置每秒滚动的距离,单位为rpx
vue
<tn-notice-bar :list="list" mode="horizontal" :speed="140"></tn-notice-bar>

<tn-notice-bar :list="list" mode="horizontal" :circular="false" :duration="1500"></tn-notice-bar>

<tn-notice-bar :list="list" mode="vertical" :duration="1500"></tn-notice-bar>

设置滚动状态

  • autoplay参数默认为true,控制是否自动播放滚动通告
  • playState参数为paused,滚动会暂停,为play滚动继续播放
vue
<tn-notice-bar :list="list" mode="horizontal" :speed="140" :playStatus="paused"></tn-notice-bar>

API

Props

属性名说明类型默认值可选值
list滚动的内容Array--
show显示通知栏Booleantruefalse
playStatus通知栏信息滚动状态Stringplaypaused
mode信息滚动方向Stringhorizontalvertical
backgroundColor背景颜色String#01BEFF颜色的十六进制值,rgba(),rgb(),TuniaoUI内置的颜色类名
fontColor字体颜色String-颜色的十六进制值,rgba(),rgb(),TuniaoUI内置的颜色类名
fontSize字体大小Number26-
fontUnit字体大小的单位Stringrpx-
leftIcon显示左图标Booleantruefalse
leftIconName左图标名称,使用TuniaoUI内置的图标Stringsound-
leftIconSize左图标大小,单位rpxNumber34-
rightIcon显示右图标Booleanfalsetrue
rightIconName右图标名称,使用TuniaoUI内置的图标Stringright-
rightIconSize右图标大小,单位rpxNumber26-
closeBtn显示关闭按钮Booleanfalsetrue
radius圆角的值,单位rpxNumber0-
padding内边距String18rpx 24rpx-
speed水平滚动文字的速度,modehorizontalcirculartrue时有效,单位每秒滚动rpxNumber160-
duration垂直滚动切换速度,modevertical或者circularfalse时有效,单位msNumber2000-
circular水平滚动时有效,水平滚动的文字是否衔接一起Booleantruefalse
autoHidden当list为空时,是否自动隐藏通知栏Booleantruefalse

Slots

none

Event

事件名称说明回调参数
click点击通知栏的文字时触发,当modehorizontalcircularfalsemodevertical时有效index:当前点击的文本在list数值中的位置
close点击关闭按钮时触发-
leftClick点击了左边图标时触发-
rightClick点击了右边图标时触发-
end列表消息滚动完一个周期时触发,当modehorizontalcircularfalsemodevertical时有效-