Vant アップローダーは、画像をアップロードするためのドラッグ アンド ドロップ機能を実装します (カバーとして設定)

Vant アップローダーは、画像をアップロードするためのドラッグ アンド ドロップ機能を実装します (カバーとして設定)

効果図は以下のとおりです。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <link rel="スタイルシート" href="public/vant/index.css" rel="外部nofollow" >
    <script src="public/vue.min.js"></script>
    <script src="public/vant/vant.min.js"></script>
    <script src="public/sortable/Sortable.min.js"></script>
    <script src="public/draggle/vuedraggable.umd.js"></script>

</head>
<スタイル>
    .img_uploader{display: flex;}
    .img_upload span {display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
    .img_upload_item {位置: 相対;マージン: 0 8px 8px 0;カーソル: ポインター;}
    .preview-cover {position: absolute;bottom: 0;box-sizing: border-box;width: 100%;padding: 4px;color: #fff;font-size: 12px;text-align: center;background: rgba(0, 0, 0, 0.3);}
    .van-image__error、.van-image__img、.van-image__loading {object-fit: cover;}
</スタイル>

<本文>
    <div id="アプリ">
        <div class="img_uploader">
            <van-uploader :after-read="onRead"> </van-uploader>
            <draggable class="img_upload" v-model="fileList" :group="{name:'imgs'}" @end="end" animation="200">
                <遷移グループ>
                    <div class="img_upload_item" v-for="(item,index) in fileList" :key="index" @click="previewImg(fileList,index)">
                        <div class="van-image van-uploader__preview-image">
                            <img :src="item.content" alt="画像" class="van-image__img">
                            <div class="van-uploader__preview-cover">
                                <div class="preview-cover van-ellipsis" v-if="index == 0">カバー画像</div>
                            </div>
                        </div>
                        <div class="van-uploader__preview-delete" @click="delImg(index)">
                            <i class="van-icon van-icon-cross van-uploader__preview-delete-icon"></i>
                        </div>
                    </div>
                </トランジショングループ>
            </ドラッグ可能>
        </div>
    </div>
</本文>
<スクリプト>
    var アプリ = 新しい Vue({
        el: "#app",
        コンポーネント:
            vuedraggable: window.vuedraggable, //現在のページにドラッグコンポーネントを登録します},
        データ() {
            戻る {
                ファイルリスト: [
                    {コンテンツ: 'https://img01.yzcdn.cn/vant/leaf.jpg',名前: '12'},
                    {コンテンツ: 'images/banner1.png',名前: '12'},
                    {コンテンツ: 'images/banner2.png',名前: '12'},
                    {コンテンツ: 'images/banner3.png',名前: '12'},
                    {コンテンツ: 'images/banner4.png',名前: '12'},
                ]、
            }
        },
        メソッド: {
            // 画像を削除する delImg(index) {
                if (isNaN(index) || index >= this.fileList.length) {
                    偽を返す
                }
                tmp = [] とします
                (i = 0、len = this.fileList.length、i < len、i++) {
                    if (this.fileList[i] !== this.fileList[index]) {
                        tmp.push(this.fileList[i])
                    }
                }
                this.fileList = tmp
            },
            onRead(file) { // 画像を画像サーバーにアップロードします this.fileList.push(file) 
                console.log(ファイル)
            },
            // クリックしてプレビューします previewImg(images, index) {
                listSrc = [] とします。
                this.fileList.forEach(function(v,i){
                    listSrc.push(v.content)
                })
                vant.ImagePreview({
                    画像:listSrc、
                    開始位置: インデックス、
                    閉じることができる:true
                });
            },
            // ドラッグが終了したらドラッグしたデータを取得します end(e) {
                var _oldIndex = e.oldIndex
                var _oldItem = this.fileList[_oldIndex]
                コンソールにログを記録します。
            },
        }
    })
</スクリプト>

</html>

これで、vant uploader を使用してドラッグ アンド ドロップで写真をアップロードする (カバーとして設定する) 方法についての説明は終了です。vant uploader を使用して写真をアップロードする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vant Uploaderは1枚以上の写真をアップロードするコンポーネントを実装します
  • モバイル端末上のVue+Vantのアップローダーは、画像のアップロード、圧縮、回転の機能を実現します。

<<:  HTML テーブル マークアップ チュートリアル (38): ヘッダーの境界線の色属性 BORDERCOLOR

>>:  mysql と oracle のデフォルトのトランザクション分離レベルの説明

推薦する

Linux/Docker で System.Drawing.Common を使用する

序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...

JavaScript マウスイベントのケーススタディ

マウスイベントマウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーさ...

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

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

Tomcatアーキテクチャの原則をアーキテクチャ設計に分析する

目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...

CentOSバージョンにDockerをインストールする際のエラーの解決方法

1. バージョン情報 # cat /etc/system-release CentOS Linux ...

MySQLの3値ロジックとNULLの詳細な説明

目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...

ウェブサイトの画像にグレー効果を加える3つの方法

私はグレースケールの画像の方が芸術的に見えると思うので、いつもグレースケールの画像を好んで使っていま...

MySQL データベースの高度なクエリとマルチテーブルクエリ

MySQL マルチテーブルクエリワークシートを追加する -- ユーザーテーブル (ユーザー) テーブ...

CSS を使用して小さな画像をプルダウンし、大きな画像と情報を表示する方法

今日は、Taobao、JD.comなどのショッピングモールでよく使われている、小さな画像の上にマウス...

Windows で MySQL 5.7.17 圧縮バージョンをインストールするときに遭遇する落とし穴

まず、Windows 64 ビット用の最新の MySQL 5.7.17 コミュニティ圧縮バージョンを...

Mysql データベースの高度なビュー、トランザクション、インデックス、自己接続、ユーザー管理の例の分析の使用

この記事では、ビュー、トランザクション、インデックス、自己接続、ユーザー管理など、MySQL データ...

Vue は Tencent Map を統合して API を実装します (デモ付き)

目次執筆の背景プロジェクトの説明事前準備注記執筆の背景以前のプロジェクトではTencent Maps...

Dreamweaver8を使用してウェブサイトのファイルをチェックして整理する方法

Dreamweaver8 を使用して独自の Web サイトを作成する目的は何ですか?インターネットに...

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

mysql5.7.17 zip の解凍とインストールの詳細な手順

1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...