Skip to content

Barrage 彈幕 - Vant 4

Barrage 彈幕

💬 介紹

彈幕元件讓你的應用瞬間充滿活力!實現觀看影片時彈出的評論性字幕功能,為使用者帶來沉浸式的互動體驗。請升級 vant 到 >= 4.4.0 版本來使用該元件。

📦 引入

透過以下方式來全域註冊元件,更多註冊方式請參考元件註冊

js
import { createApp } from'vue'; 
const app = createApp(); 
app.use(Barrage);

🎯 程式碼演示

基礎用法

可以透過 v-model 雙向綁定彈幕資料,Barrage 會在元件區域內播放文字彈幕,使用陣列資料 push() 可以發送彈幕文字。簡單易用,效果炫酷!

html
ts
export default { setup() { const defaultList = [ { id: 100, text: '輕量' }, { id: 101, text: '可定製的' }, { id: 102, text: '行動端' }, { id: 103, text: 'Vue' }, { id: 104, text: '元件庫' }, { id: 105, text: 'VantUI' }, { id: 106, text: '666' }, ]; const list = ref([...defaultList]); const add = () => { list.value.push({ id: Math.random(), text: 'Barrage' }); }; return { list, add }; }, };

模擬影片彈幕

設定 auto-playfalse 屬性後,需要使用 play() 進行彈幕播放,暫停可以使用 pause() 實現。完美配合影片播放,打造真實彈幕體驗!

html
ts
export default { setup() { const defaultList = [ { id: 100, text: '輕量' }, { id: 101, text: '可定製的' }, { id: 102, text: '行動端' }, { id: 103, text: 'Vue' }, { id: 104, text: '元件庫' }, { id: 105, text: 'VantUI' }, { id: 106, text: '666' }, ]; const list = ref([...defaultList]); const barrage = ref<BarrageInstance>(); constadd = () => { list.value.push({ id: Math.random(), text: 'Barrage' }); }; const [isPlay, toggle] = useToggle(false); watch(isPlay, () => { if (isPlay.value) barrage.value?.play(); else barrage.value?.pause(); }); return { list, barrage, isPlay, toggle, add }; }, };

API

Props

參數說明類型預設值
v-model彈幕資料BarrageItem[]-
auto-play是否自動播放彈幕booleantrue
rows彈幕文字行數*numberstring*
top彈幕文字區域頂部間距,單位 px*numberstring*
duration彈幕文字滑過容器的時間,單位 ms*numberstring*
delay彈幕動畫延時,單位 msnumber300

方法

透過 ref 可以取得 Barrage 實例並呼叫實例方法,詳見元件實例方法

方法名說明參數回傳值
play播放彈幕--
pause暫停彈幕--

Slots

名稱說明
default彈幕元件子元素

類型定義

元件匯出以下類型定義:

ts
importtype { BarrageProps, BarrageItem, BarrageInstance } from'vant';

主題定製

樣式變數

元件提供了下列 CSS 變數,可用於自訂樣式,使用方法請參考 ConfigProvider 元件

名稱預設值描述
--van-barrage-font-size16px-
--van-barrage-space10px-
--van-barrage-colorvar(--van-white)-
--van-barrage-fontinherit-

📝 總結

Barrage 彈幕元件是為你的應用注入活力的神奇工具!💬 它能讓靜態的內容瞬間變得生動有趣,為使用者帶來沉浸式的互動體驗。無論是影片播放、直播互動還是活動展示,都能讓你的應用更加引人入勝。

🎯 核心特性

  • 🎬 影片同步:完美配合影片播放控制
  • 🎨 靈活配置:支援行數、速度、延時等多種參數
  • 🎭 動態新增:即時推送新彈幕內容
  • 📱 行動優化:專為行動端體驗設計
  • 🎪 流暢動畫:絲滑的彈幕滾動效果
  • 🎮 播放控制:支援播放、暫停等操作

從影片網站到直播平台,從活動頁面到互動展示,Barrage 讓你的應用充滿生機與活力!

🔗 相關內容

基於Vant構建的企業級移動端解決方案