Vueは複数の画像の追加、表示、削除を実装します

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

効果画像:

まず、input[type="file"]を指定してから非表示にします。プラス記号がある領域をクリックすると、ファイル選択のクリックイベントがトリガーされます。

注意: src の値を取得するときは、v-bind:src="imgsrc" を使用してください。src="imgsrc" または src="{{imgsrc}}" を使用するとエラーが発生します。

コード: (一部のスタイルは省略、主にメソッドの追加と削除)

<テンプレート>
 <div id="オリジナリティ">
    <div class="ipt">メイン画像:</div>
    <div class="picture">
     <div class="メイン画像">
      <div class="iconfont icon-jia" @click="uploadPic('filed')"></div>
     </div>
     <!--メイン画像に複数の画像を追加できます-->
     <div id="img" v-for="(imgsrc,index) in imgsrcs">
      <img id="imgshow" :src="imgsrc">
      <div class="iconfont icon-cha" @click="deleteMulPic(index)"</div>
     </div>
    </div>
    <input id="filed" type="file" multiple="multiple" accept="image/*,application/pdf" style="display: none;" @change="changeMulPic()">
 
    
 </div>
</テンプレート>
 
<スクリプト>
 エクスポートデフォルト{
  名前: 「オリジナリティ」、
  コンポーネント:
 
  },
  データ() {
   戻る {   
    画像ソース: []
   }
  },
  メソッド: {
   アップロード写真: 関数(val) {
    document.getElementById(val).click();
   },
   マルチピクチャの変更: 関数() {
    var ファイル = $("#filed").get(0).files[0];
    $("#img").表示();
    this.imgsrcs.push(window.URL.createObjectURL(ファイル))
   },
   deleteMulPic: 関数(インデックス) {
    this.imgsrcs.splice(インデックス、1);
   }
  }
 }
</スクリプト>
 
<スタイルスコープ>
 
 .メイン画像{
  フロート: 左;
  幅: 100ピクセル;
  高さ: 100px;
  背景: rgba(255, 255, 255, 1);
  境界線の半径: 2px;
  境界線: 1px 実線 #E5E9F2;
 }
 
 。写真 {
  最小高さ: 100px;
 }
 
 .ファイル {
  表示: なし;
  フロート: 左;
 }
 
 #画像 {
  左マージン: 20px;
  フロート: 左;
  幅: 100ピクセル;
  高さ: 100px;
  境界線の半径: 2px;
  境界線: 1px 実線 #E5E9F2;
 }
 
 .icon-cha {
  カーソル: ポインタ;
  位置: 絶対;
  幅: 10px;
  高さ: 10px;
  左マージン: 85px;
  上マージン: -100px;
  色: #BFC5D1;
 }
 
 #画像を表示{
  幅: 100ピクセル;
  高さ: 100px;
 }
 
 .icon-jia {
  テキスト配置: 中央;
  幅: 20px;
  高さ: 20px;
  行の高さ: 20px;
  色: #BFC5D1;
  パディング: 40px;
  カーソル: ポインタ;
 }
 
</スタイル>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue クリックボタンでコンポーネント関数を動的に作成および削除する
  • Vueで要素を追加および削除する方法の詳細な説明
  • Vueは削除されたオブジェクトの要素の削除を実装します
  • Vue でクリックして削除する一般的な方法のまとめ

<<:  Dockerfile における ENV 命令の具体的な使用法の詳細な説明

>>:  Centos 7にmysql5.7.24バイナリバージョンをインストールする方法と解決方法

推薦する

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法

説明する2 つの日付間の時間間隔を返します。文法DateDiff(間隔、日付1、日付2 [、週の最初...

MySQL の自動増分 ID (主キー) が不足した場合の解決策

MySQL で使用される自動インクリメント ID には多くの種類があり、各自動インクリメント ID ...

MySQL の準同期レプリケーションについての簡単な説明

導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...

JavaScript の手ぶれ補正とスロットリングの詳細な説明

目次デバウンススロットル要約するデバウンス定義: スクロール イベントなど、短時間に連続してトリガー...

MySQL sql_mode の分析と設定の説明

昨夜、MySQL データベースにデータセットを挿入したときにエラーが発生しました。データベースは容赦...

Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...

Vueモバイル端末に最適な適応ソリューションについての簡単な説明

序文: 最近の医療モバイル プロジェクトに基づいて、Vue はさまざまな画面のさまざまな画面サイズに...

iframe に関するいくつかの発見と考察

この物語は、今日の予期せぬ発見から始まります。同社には複数のウェブサイトがある。友達リンクにはお互い...

Nginx コンパイル済み nginx - 新しいモジュールを追加

1. 既存のモジュールを表示する nginx の sbin ディレクトリに nginx の sbin...

MySQLのユーザーアカウント管理と権限管理の詳細な説明

序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...

HTML コード作成ガイド

共通コンベンションタグ自己終了タグ。閉じる必要はありません (例: img input br hr ...

MySQL テーブルを作成するためによく使用される SQL ステートメントの概要

最近、私はプロジェクトに取り組んでおり、背景を記述するために SQL ステートメントを使用する必要が...

CentOS 6.5 i386 インストール MySQL 5.7.18 詳細チュートリアル

ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...

Vue+WebSocket ページでの長時間接続のリアルタイム更新

最近、Vue プロジェクトではデータをリアルタイムで更新する必要があります。折れ線グラフは 1 秒ご...