Skip to content

Barrage 弹幕 - Vant 4

バラゲーコンポーネントでアプリに瞬時に活気を与えます!動画視聴中にコメントが流れる機能を実現し、ユーザーに没入感のあるインタラクティブ体験を提供します

導入

js
import { Barrage } from 'vant';

app.use(Barrage);

コード例

基本的な使い方

v-model でバラゲーデータを双方向バインドできます。Barrage はコンポーネント領域内でテキストバラゲーを再生し、配列データに push() を使用してバラゲーテキストを送信できます。簡単で使いやすく、効果がカッコ良いです!

html
<van-barrage v-model="list" />
<van-button type="primary" @click="add">送信バラゲー</van-button>
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
<van-barrage
  ref="barrage"
  v-model="list"
  auto-play="false"
  style="height: 200px; background: #000"
/>
<van-button type="primary" @click="toggle" v-if="!isPlay">再生</van-button>
<van-button type="default" @click="toggle" v-else>一時停止</van-button>
<van-button type="danger" @click="add">送信バラゲー</van-button>
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>();
    const add = () => {
      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バラゲーテキストの行数number | string4
topバラゲーテキスト領域の上部間隔、単位 pxnumber | string10
durationバラゲーテキストがコンテナを横切る時間、単位 msnumber | string4000
delayバラゲーアニメーションの遅延、単位 msnumber300

メソッド

ref を使用して Barrage インスタンスを取得し、インスタンスメソッドを呼び出すことができます。詳細については、コンポーネントインスタンスメソッドを参照してください。

メソッド名説明パラメータ戻り値
playバラゲーを再生--
pauseバラゲーを一時停止--

Slots

名前説明
defaultバラゲーコンポーネントの子要素

タイプ定義

コンポーネントは次のTypeScriptタイプをエクスポートしています:

ts
export type BarrageProps = {
  vModel: BarrageItem[];
  autoPlay?: boolean;
  rows?: number | string;
  top?: number | string;
  duration?: number | string;
  delay?: number;
};

export type BarrageItem = {
  id: number | string;
  text: string;
};

export type BarrageInstance = {
  play: () => void;
  pause: () => void;
};

テーマカスタマイズ

CSS変数

以下のCSS変数を使用して、コンポーネントのスタイルをカスタマイズできます。カスタマイズ方法については、テーマカスタマイズガイドを参照してください。

変数名デフォルト値説明
--van-barrage-font-size16px-
--van-barrage-space10px-
--van-barrage-colorvar(--van-white)-
--van-barrage-fontinherit-

📝 まとめ

Barrage バラゲーコンポーネントは、アプリに活気を注入する魔法のツールです!💬 静的なコンテンツを瞬時に生き生きとさせ、ユーザーに没入感のあるインタラクティブ体験を提供します。動画再生、ライブ配信、イベントページなど、あらゆる場面でアプリをより魅力的にします。

🎯 主な特徴

  • 🎬 動画同期:動画再生制御と完璧に連携
  • 🎨 柔軟な設定:行数、速度、遅延など多様なパラメータに対応
  • 🎭 動的追加:リアルタイムで新しいバラゲーを追加
  • 📱 モバイル最適化:モバイル体験のために特別に設計
  • 🎪 スムーズなアニメーション:滑らかなバラゲースクロール効果
  • 🎮 再生制御:再生、一時停止などの操作をサポート

動画サイトからライブ配信プラットフォーム、イベントページからインタラクティブディスプレイまで、Barrage でアプリに活力と生き生き感を与えましょう!

🔗 関連コンテンツ

Vant に基づく企業向けモバイルソリューション