Webプロジェクトでは、データを読み込むためにプルダウンやスクロールの機能を使用することがよくあります。今日は、Vue-infinite-loadingプラグインの紹介と使い方を説明します! ステップ1: インストールnpm インストール vue-infinite-loading --save ステップ2: 引用'vue-infinite-loading' から InfiniteLoading をインポートします。 エクスポートデフォルト{ コンポーネント: { InfiniteLoading } } ステップ3: 使用1. 基本的な使い方 <テンプレート> <div> <p v-for="item in list"> <span v-text="item"></span> </p> <!-- 無限読み込みコンポーネントは、スクロール ボックス内のリストの下部に配置する必要があります。 --> <infinite-loading @infinite="infiniteHandler"></infinite-loading> </div></template><script> 'vue-infinite-loading' から InfiniteLoading をインポートします。 エクスポートデフォルト{ データ() { 戻る { リスト: [] }; }, メソッド: { 無限ハンドラ($state) { // ここでは1秒の読み込み遅延をシミュレートします setTimeout(() => { temp = [] とします。 (i = this.list.length + 1、i <= this.list.length + 20、i++ とします) { temp.push(i); } this.list = this.list.concat(temp); $state.loaded(); }, 1000); }, }, コンポーネント: { InfiniteLoading } </スクリプト> 2. ページングの使用 <テンプレート> <div> <ul> <li class="hacker-news-item" v-for="(item, key) in list"></li> </ul> <無限ロード @infinite="infiniteHandler"> データはもうありません </無限読み込み> </div> </テンプレート> <スクリプト> 'vue-infinite-loading' から InfiniteLoading をインポートします。 'axios' から axios をインポートします。 エクスポートデフォルト{ データ() { 戻る { リスト: [] }; }, メソッド: { 無限ハンドラ($state) { api="http://xxx.com/xxx" とします。 //api はデータアドレスを要求します axios.get(api, { パラメータ: { // ページ番号パラメータ(ページあたり 10 個) ページ: this.list.length / 10 + 1、 }, }).then((応答) => { if (応答データの長さ) { // response.data はリクエスト インターフェイスによって返される配列リストです。this.list = this.list.concat(response.data); $state.loaded(); (this.list.length / 10 === 10)の場合{ // ここでは 10 ページのデータが読み込まれ、これ以上読み込まれないように設定されています $state.complete(); } } それ以外 { $state.complete(); } }); } }, コンポーネント: { InfiniteLoading } }; </スクリプト> 説明: $state: このコンポーネントは、特別なイベント パラメータ $state をイベント ハンドラに渡して、読み込み状態を変更します。$state パラメータには、loaded メソッド、complete メソッド、reset メソッドの 3 つのメソッドが含まれます。
3. 条件付き使用 <テンプレート> <div class="ハッカーニュースリスト"> <div class="ハッカーニュースヘッダー"> <!-- プルダウンして変更 --> <v-model="タグ" @change="changeFilter()">を選択します。 <option value="story">ストーリー</option> <option value="history">履歴</option> </選択> <!--またはクリックして変更--> <button @click="changeFilter()">検索</button> </div> <ul> <li class="hacker-news-item" v-for="(item, key) in list"></li> </ul> <!--ref="infiniteLoading" を設定することを忘れないでください --> <infinite-loading @infinite="infiniteHandler" ref="infiniteLoading"> これ以上のデータはありません </無限読み込み> </div> </テンプレート> <スクリプト> 'vue-infinite-loading' から InfiniteLoading をインポートします。 'axios' から axios をインポートします。 エクスポートデフォルト{ データ() { 戻る { リスト: [], タグ: 'ストーリー', }; }, メソッド: { 無限ハンドラ($state) { 定数api="http://xxx.com/xxx"; //api はデータアドレスを要求します axios.get(api, { パラメータ: { // 変更された条件パラメータタグ: this.tag, ページ: this.list.length / 10 + 1、 }, }).then(({ データ }) => { if (データ結果の長さ) { this.list = this.list.concat(data.result); $state.loaded(); (this.list.length / 20 === 10)の場合{ 状態.complete(); } } それ以外 { $state.complete(); } }); }, //このメソッドを使用して条件バーを変更します changeFilter() { このリスト = []; this.$nextTick(() => { this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset'); }); }, }, コンポーネント: { InfiniteLoading } } </スクリプト> 公式リンク: https://peachscript.github.io/vue-infinite-loading/ GitHub リンク: https://github.com/PeachScript/vue-infinite-loading 上記は、Vue のドロップダウンスクロールでデータを読み込む例の詳細です。Vue のドロップダウンスクロールでデータを読み込む詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: VMware Workstation 14 Pro のインストールとアクティベーションのグラフィック チュートリアル
この方法は2021年2月7日に編集されました。私が使用しているバージョンは8.0.23です。事件の原...
Weibo ユーザーのフォローを一括で解除するクールな JavaScript コードWeibo には...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
Linux 構成/ビルド システムがどのように機能するかを深く理解します。 Linux カーネル構成...
HTML の img タグで画像の中心を表示する方法は、現在 3 つあります。ここで記録しておきま...
この記事では、検証コードカウントダウンボタンを実装するためのVueの具体的なコードを例として紹介しま...
Mysql を完全にアンインストールするにはどうすればいいですか?以下の手順に従って実行してくださ...
dockerでイメージを削除するコマンドはdocker rmiですが、このコマンドを実行してもイメー...
目次ログはどこに保存されますか?コンテナ内のアプリケーションからのログを表示するDockerデーモン...
目次これ方法オブジェクト内これを隠した厳密モードこれを変更してこれいつものように、まずはコードを見て...
目次序文問題を見つける解決する追記序文最近、 UIコンポーネントを作成する予定で、 vue 2.xと...
この記事では、MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法を参考ま...
目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...
chmod コマンド構文chmod コマンドを使用する場合の正しい構文は次のとおりです。 chmod...
今日はサーバーにログインして、データベース内のいくつかのものを変更する準備をしました。しかし、パスワ...