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

推薦する

高速でクールな揺れアニメーション効果を実現するCSS

1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...

CSS 不透明度子要素が親要素の透明度を継承するためのソリューションの詳細な説明

プロジェクト ページの作成中に、子要素が親要素の透明度を継承するという問題に遭遇しました。多くのドキ...

Alibaba Cloud で MySQL リモート接続を構成するための詳細な手順

序文ご存知のとおり、デフォルトでは、Alibaba Cloud にインストールされている MySQL...

Webデザインの経験:ナビゲーションシステムをシンプルにする

<br />友人と話し合っていたとき、フレームワークのレイヤー設計の中で最も核となるのは...

Vue.jsはシンプルな折りたたみパネルを実装します

この記事では、Vue.jsの具体的なコードを共有して、シンプルな折りたたみパネルを実装する例を紹介し...

Vue バックエンド管理システムのページング機能の実装例

この記事では、主に Vue バックグラウンド管理システムのページング機能の実装を紹介し、次のように共...

Docker を使用して OpenLDAP+phpLDAPadmin 統合ユーザー認証を構築する方法

1. 背景LDAP を使用して、操作および保守に関連するユーザー名とパスワードを集中管理します。 1...

レスポンシブ Web デザイン手法を実装し、ウォーターフォール モデルに別れを告げる 5 つのステップ (グラフィック チュートリアル)

次の Web デザイン プロジェクトはレスポンシブにする必要があると上司をようやく納得させることがで...

CSS 要素を表示および非表示にする 9 つの方法

Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...

html.cssオーバーフローの包括的な理解

html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...

Mysql 8.0 のインストールとパスワードのリセットの問題

Mysql 8.0 のインストールの問題とパスワードのリセット1: MySqlをダウンロードする公式...

ドラッグ位置プレビューを実装するネイティブJS

この記事では、要素をドラッグするときにプレビューを追加する小さなデモを紹介します。効果は次のとおりで...

nginxリバースプロキシによるセッション障害の問題の解決策

同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...

Dockerfile を使用して Docker でイメージを構築する方法

イメージを構築するこれまで、テストやデモンストレーションにさまざまなイメージを使用しました。多くの場...

設定ファイルを変更した後、操作を再開します

余計なことは言わないで、コードだけ見てみましょう〜 # docker-compose をダウン # ...