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

推薦する

Linux 圧縮ファイルコマンド zip の使用例

「.zip」形式は、Windows システムでファイルを圧縮するために使用されます。実際、「.zip...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

MySQLに必要な共通知識のまとめ

目次主キー制約一意の主キー非 Null 制約デフォルトの制約外部キー制約1NF 2NF 3NFデータ...

MySQLユーザー権限管理の詳細な説明

目次序文: 1. ユーザー権利の概要2. 実際の権限管理序文:データベースのユーザー権限管理について...

Centos6でgitlabを構築する方法

序文元のプロジェクトは、パブリックネットワークgitlabに配置されていました。セキュリティ上の理由...

echarts ワードクラウドチャートを使用した Vue の実践記録

echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...

Vue の vue.$set() メソッドのソースコード例の詳細な説明

Vue を使用してプロジェクトを開発する過程で、次のような問題によく遭遇します。Vue のデータでオ...

CSS 3.0 テキストホバージャンプ特殊効果コード

これは、CSS 3.0 で実装されたテキストのホバーとジャンプ効果です。効果は次のとおりです。 以下...

Dockerコンテナの接続と通信の実装

ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。 Docke...

MySQLデータベースがNULLを可能な限り避ける理由

MySQL の多くのテーブルには、NULL が列のデフォルト属性であるため、アプリケーションが NU...

Vue フィルターの使用とタイムスタンプ変換の問題

目次1. 概念をすぐに認識する: 2. ローカルフィルター: 3. グローバルフィルター: 4. 拡...

jQuery+swiper コンポーネントはタイムラインのスライド年タブ切り替え効果を実現します

結果: 実装コード: スワイパーコンポーネントと一緒に使用する必要がありますSwiper 基本デモア...

MySQL 8.0 でのチェック制約の実装

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。今回はMySQL 8.0で追...

Vue の計算プロパティの紹介

目次1. 計算プロパティとは何ですか? 2. 計算プロパティの構文3. 例1. 計算プロパティとは何...

CSS 8 目を引く HOVER 効果のサンプル コード

1. エフェクトHTMLを送信する <div id="送信ボタン">...