Skip to content

Image 画像 - Vant 4

🖼️ Image 画像

🎯 概要

Image コンポーネントは img タグのスーパーヒーローバージョンのようなものです 🦸‍♂️!生の img の全ての機能を持つだけでなく、さまざまな画像のフィットモード、遅延読み込み、読み込み状態の通知などの強力な機能が追加されています。すべての画像が最適な状態でユーザーに表示されるようにし、読み込みに失敗したときの困惑や待ち時間のストレスを解消します!

📦 導入

以下の方法でグローバルにコンポーネントを登録します。詳細な登録方法については、コンポーネントの登録を参照してください。

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

🚀 コードの例

🔧 基本的な使い方

基本的な使い方は生の img タグと同じで、srcwidthheightalt などの生の属性を設定できます。馴染みのある古い友人を使うように簡単です!

html

🎨 フィットモード

fit 属性で画像のフィットモードを設定できます。これは生の object-fit 属性と同じです。コンテナ内で最適な姿勢を見せるために、画像に異なる「服装スタイル」を選択するようなものです!

html

📍 画像の位置

position 属性で画像の位置を設定できます。fit 属性と組み合わせて使用すると、生の object-position 属性と同じになります。画像に最適な「撮影位置」を設定するようなものです!

html

⭕ 丸い画像

round 属性で画像を丸くできます。普通の画像を瞬時に優雅な丸いプロフィール写真に変えます!画像の幅と高さが等しくなく、fitcontain または scale-down の場合、完全な円を埋めることができないことに注意してください。

html

🚀 画像の遅延読み込み

lazy-load 属性を設定して画像の遅延読み込みを有効にすると、画像に「スマートセンサー」が取り付けられたようになり、ユーザーが見ようとしているときにのみ読み込みを開始し、ページのパフォーマンスが大幅に向上します!Lazyload コンポーネントと組み合わせて使用する必要があります。

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

⏳ 読み込み中の通知

Image コンポーネントはデフォルトの読み込み中の通知を提供します。ユーザーに親切な「お待ちください」の通知を与えるようなものです!loading スロットで内容をカスタマイズでき、待ち時間も楽しくなります。

html

❌ 読み込み失敗の通知

Image コンポーネントはデフォルトの読み込み失敗の通知を提供します。画像の読み込みに問題が発生した場合、空白または破損したアイコンではなく、優雅にフレンドリーな通知が表示されます。error スロットで内容をカスタマイズできます。

html

API

Props

パラメータ説明デフォルト値
src画像リンクstring-
fit画像のフィットモード。生の object-fit 属性と同等stringfill
position画像の位置。生の object-position 属性と同等。top``right``bottom``left または string から選択可能stringcenter
alt代替テキストstring-
width幅。デフォルトの単位は pxnumber | string-
height高さ。デフォルトの単位は pxnumber | string-
radius角丸のサイズ。デフォルトの単位は pxnumber | string0
round丸く表示するかどうかbooleanfalse
block 3.6.3ルートノードをブロック要素に設定するかどうか。デフォルトでは inline-block 要素booleanfalse
lazy-load画像の遅延読み込みを有効にするかどうか。Lazyload コンポーネントと組み合わせて使用する必要がありますbooleanfalse

| show-error | 画像の読み込み失敗通知を表示するかどうか | boolean | true | | show-loading | 画像の読み込み中通知を表示するかどうか | boolean | true | | error-icon | 失敗時の通知アイコンの名前または画像リンク。Icon コンポーネントの name 属性 と同等 | string | photo-fail | | loading-icon | 読み込み中の通知アイコンの名前または画像リンク。Icon コンポーネントの name 属性 と同等 | string | photo |

| icon-size | 読み込みアイコンと失敗アイコンのサイズ | number | string | 32px | | icon-prefix | アイコンのクラス名プレフィックス。Icon コンポーネントの class-prefix 属性 と同等 | string | van-icon |

| crossorigin | 生の crossorigin 属性と同等 | string | - | | referrerpolicy | 生の referrerpolicy 属性と同等 | string | - | | decoding v4.9.20 | 生の decoding 属性と同等 | string | - |

画像のフィットモード

名前意味
containアスペクト比を保持して画像をスケーリングし、画像の長い辺を完全に表示します
coverアスペクト比を保持して画像をスケーリングし、画像の短い辺を完全に表示し、長い辺をトリミングします
fill画像を引き伸ばして要素を埋めます
none画像の元のサイズを保持します
scale-downnone または contain のうち小さい方を使用します

イベント

イベント名説明コールバックパラメータ
click画像をクリックしたときにトリガーされますevent: MouseEvent
load画像の読み込みが完了したときにトリガーされますevent: Event
error画像の読み込みに失敗したときにトリガーされます-

スロット

名前説明
default画像の下のカスタムコンテンツ
loading読み込み中のカスタム通知コンテンツ
error読み込み失敗時のカスタム通知コンテンツ

型定義

コンポーネントは以下の型定義をエクスポートしています:

ts
importtype { ImageFit, ImagePosition, ImageProps } from'vant';

テーマカスタマイズ

スタイル変数

コンポーネントは、カスタムスタイルに使用できる以下の CSS 変数を提供しています。使用方法については、ConfigProvider コンポーネントを参照してください。

名前デフォルト値説明
--van-image-placeholder-text-colorvar(--van-text-color-2)-
--van-image-placeholder-font-sizevar(--van-font-size-md)-
--van-image-placeholder-backgroundvar(--van-background)-
--van-image-loading-icon-size32px-
--van-image-loading-icon-colorvar(--van-gray-4)-
--van-image-error-icon-size32px-
--van-image-error-icon-colorvar(--van-gray-4)-

よくある質問

ローカル画像を参照するにはどうすればよいですか?

.vue ファイルで相対パスを使用してローカル画像を参照する場合、画像のリンクを require() で囲む必要があります。これにより、画像 URL が webpack モジュールリクエストに変換され、file-loader または url-loader と組み合わせて処理されます。

html

より詳細な説明については、vue-loader のリソースパスの処理のセクションを参照してください。

image タグを使用するとレンダリングできませんか?

Image コンポーネントを使用するとき、<image> をタグ名として使用するとレンダリングできない問題が発生することがあります。たとえば、次のような記述:

html

これは \<image> タグが生の SVG タグであり、Vue が生のタグ名をコンポーネント名として登録することを許可していないためです。\<van-image> を使用すると、この問題を回避できます。

📚 関連文書

🖼️ メディアコンポーネント

🚀 パフォーマンスの最適化

🎨 デザインコンポーネント

🛠️ 開発ガイド

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