NoticeBar - Vant 4
NoticeBar
Intro
Used to display a group of message notifications in a continuons loop.
Install
Register component globally via app.use, refer to Component Registration for more registration ways.
import { createApp } from'vue'; import { NoticeBar } from'vant'; const app = createApp(); app.use(NoticeBar);Usage
Basic Usage
Scrollable
Wrapable
Mode
Custom Style
Vertical Scroll
API
Props
| Attribute | Description | Type | Default |
|---|---|---|---|
| mode | Mode, can be set to closeable``link | string | '' |
| text | Notice text content | string | '' |
| color | Text color | string | #ed6a0c |
| background | Background color | string | #fffbe8 |
| left-icon | Left Icon | string | - | | delay | Animation delay (s) | number | string | 1 | | speed | Scroll speed (px/s) | number | string | 60 | | scrollable | Whether to scroll content | boolean | - | | wrapable | Whether to enable text wrap | boolean | false |
Events
| Event | Description | Arguments |
|---|---|---|
| click | Emitted when NoticeBar is clicked | event: MouseEvent |
| close | Emitted when NoticeBar is closed | event: MouseEvent |
| replay | Emitted when NoticeBar is replayed | - |
Methods
Use ref to get NoticeBar instance and call instance methods.
| Name | Description | Attribute | Return value |
|---|---|---|---|
| reset | Reset NoticeBar | - | - |
Types
The component exports the following type definitions:
importtype { NoticeBarMode, NoticeBarProps, NoticeBarInstance } from'vant';NoticeBarInstance is the type of component instance:
import { ref } from'vue'; importtype { NoticeBarInstance } from'vant'; const noticeBarRef = ref<NoticeBarInstance>(); noticeBarRef.value?.reset();Slots
| Name | Description |
|---|---|
| default | Notice text content |
| left-icon | Custom left icon |
| right-icon | Custom right icon |
Theming
CSS Variables
The component provides the following CSS variables, which can be used to customize styles. Please refer to ConfigProvider component.
| Name | Default Value | Description |
|---|---|---|
| --van-notice-bar-height | 40px | - |
| --van-notice-bar-padding | 0 var(--van-padding-md) | - |
| --van-notice-bar-wrapable-padding | var(--van-padding-xs) var(--van-padding-md) | - |
| --van-notice-bar-text-color | var(--van-orange-dark) | - |
| --van-notice-bar-font-size | var(--van-font-size-md) | - |
| --van-notice-bar-line-height | 24px | - |
| --van-notice-bar-background | var(--van-orange-light) | - |
| --van-notice-bar-icon-size | 16px | - |
| --van-notice-bar-icon-min-width | 24px | - |