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バイナリバージョンをインストールする方法と解決方法

推薦する

MySQL Index Pushdown (ICP) とは何かを理解するための記事

目次1. はじめに2. 原則III. 実践3.1 インデックスプッシュダウンを使用しない3.2 イン...

画像カルーセルを実装するためのネイティブJS 小さな広告プラグインを実装するためのJS

最近、ネイティブ JS を使用して、さらにいくつかの小さな機能を実装したいと思っています。現在、ブロ...

現在使用されている設定ファイル my.cnf を表示する mysql メソッド (推奨)

my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...

Vue パッケージサイズの最適化の実装 (1.72M から 94K)

1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...

iframe タグの使用方法の詳細な説明 (属性、透明度、適応高さ)

1. iframe の定義と使用法iframe 要素は、別のドキュメントを含むインライン フレーム...

JSでよく使われるデータ処理方法

目次DOM処理配列方法要約するDOM処理DOM はドキュメントの構造化された表現を提供し、スクリプト...

Mac で docker と kubectl の自動補完コマンドを追加する方法

kubectl の紹介kubectl は、k8s クラスターを操作するためのコマンドライン ツールで...

HTMLを教える記事

アーティストになるつもりがない場合は、開発者として HTML を読んで、必要に応じて簡単な変更を加え...

MySQL シリーズ 6 のユーザーと認証

目次チュートリアルシリーズ1. ユーザー管理1. ユーザーアカウント2. アカウントの追加と削除3....

MySql テーブル、データベース、シャーディング、パーティショニングの知識ポイントの紹介

1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...

Hyper-V の紹介とインストールと使用 (詳細な図解)

はじめに:IT 業界の巨人である Microsoft 独自の仮想化技術は、VMware や Citr...

Dockerコンテナの原理の分析

目次01 コンテナの本質とは何か? 02 Cgroupテクノロジーと名前空間テクノロジーの概要03 ...

Vue+SpringBoot+Shiroのクロスドメイン問題を解決する

目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...

CentOS 6 および 7 での MySQL 5.7 の詳細なインストール チュートリアル

開発には常にデータが必要です。サーバーとしての Linux では、テスト データを格納するためのデー...

完全なMySQL学習ノート

目次MyISAM と InnoDBパフォーマンスの低下と SQL の速度低下の理由: MySQL 実...