Vue ElementUIテーブルレンダリング遅延:非同期リクエストによって引き起こされるデータ表示問題を解決する方法は?
Vue ElementUIテーブルデータレンダリング遅延と最適化戦略
LATENCYの表形式データレンダリングは、VUEおよびElementUIプロジェクトで一般的な問題です。この記事では、ページが読み込まれたときにテーブル内の一部のフィールドが表示されず、ブラウザ開発者ツールを開いた後にのみ表示されるケースを分析します。
問題の説明:
el-table
コンポーネントを使用してアプリケーションレコードを表示するページでは、バックエンドから申請者IDを取得し、ループコールインターフェイスを介して申請者の名前やその他の情報を取得し、 tableData
に動的に追加する必要があります。ページが読み込まれた後、申請者の名前などのフィールドが欠落しており、開発者ツールを開いた後にのみ表示されます。元のコードは次のとおりです。
async getData(){ axios.getを待っている( "http:// localhost:10100/apply/getalloutapplypageofgroup"、{ パラメージ:{ 承認:localStorage.getItem( "userid")、 PN:this.currentPage、 PS:this.pagesize } })。それから(res => { this.tabledata = res.data.data.records this.total = res.data.data.total }) for(this.tabledataのvar i){ Axios.getを待っている( "http:// localhost:10100/user/getUsername"、{ パラメージ:{ userid:this.tabledata [i] .applicantid } })。それから(res => { this.tabledata [i] .applicantname = res.data.data }) // ...その他の非同期リクエスト... } }
このコードはmounted
ライフサイクル中にgetdata
メソッドを呼び出します。問題の根本的な原因は、 getdata
関数で多数のawait
キーワードが使用されていることです。開発者ツールをオンにすると、VUEアップデートメカニズムが誤ってトリガーされ、データが表示される場合があります。
解決策:Promise.allとの同時リクエスト
同期ループや複数のawait
を避け、コードを最適化し、非同期リクエストを同時リクエストに変更する必要があり、 Promise.all
を使用してデータを更新する必要があります。改善されたコードは次のとおりです。
async getData(){ const applydata = appait axios.get( "http:// localhost:10100/apply/getalloutapplypageofgroup"、{ パラメージ:{ 承認:localstorage.getitem( "userid")、 PN:this.currentPage、 PS:this.pagesize } }); this.tabledata = applydata.data.data.records; this.total = applydata.data.data.total; const promises = this.tabledata.map(item => { promise.allを返します([ axios.get( "http:// localhost:10100/user/getUsername"、{params:{userid:item.applicantid}})、 axios.get( "http:// localhost:10100/chemicals/getChemicalName"、{params:{chemicalid:item.chemicalid}})、 axios.get( "http:// localhost:10100/chemicals/getunit"、{params:{chemalid:item.chemicalid}}) ]。 item.applicantname = usernameres.data.data; item.chemicalname = chemaricnameres.data.data; item.unit = unitres.data.data; }); }); 待ち望んでいます。すべて(約束); //すべてのリクエストがこれを完了するのを待ちます。$ forceUpdate(); // Update Viewを強制}
Promise.all
を通じて、全体として、複数の非同期リクエストが同時に実行され、効率が大幅に向上し、データディスプレイの遅延が解決されます。すべてのデータ収集が完了した後、 tableData
を更新してthis.$forceUpdate()
を使用してビューを強制的に更新して、データがel-table
に正しく表示されるようにします。
tableData
データをel-table
に適切にバインドすることを忘れないでください。この最適化戦略は、非同期操作によって引き起こされる遅延問題のレンダリングを効果的に回避します。
以上がVue ElementUIテーブルレンダリング遅延:非同期リクエストによって引き起こされるデータ表示問題を解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ミームコインを取引するのに最も適したプラットフォームには、次のものがあります。1。Binance、世界最大、高流動性と低いハンドリング料金があります。 2。OKX、効率的な取引エンジンであり、さまざまなミームコインをサポートしています。 3。Xbit、分散型、クロスチェーン取引をサポートする。 4。Redim(Solana Dex)、低コスト、血清注文帳。 5。PancakesWap(BSC DEX)、低い取引手数料、高速。 6。ORCA(Solana Dex)、ユーザーエクスペリエンスの最適化。 7。コインベース、高セキュリティ、初心者に適しています。 8。アジアで有名なHuobi、豊かな取引ペア。 9。デクスラビット、インテリジェント

トップ10のデジタル通貨交換の推奨アプリ:1。OKX、2。BINANCE、3。GATE.IO、4。HUOBI、5。COINBASE、6。KUCOIN、7。KRAKEN、8。BITFINEX、9。BYBIT、10。

上位10のデジタル仮想通貨アプリは次のとおりです。1。Okx、2。Binance、3。Gate.io、4。Coinbase、5。Kraken、6。Huobi、7。Kucoin、8。Bitfinex、9。Bitstamp、10。Poloniex。これらの交換は、トランザクションのボリューム、ユーザーエクスペリエンス、セキュリティなどの要因に基づいて選択され、すべてがさまざまなデジタル通貨取引サービスと効率的な取引エクスペリエンスを提供します。

上位10の仮想通貨視聴プラットフォームの推奨アプリ:1。OKX、2。BINANCE、3。GATE.IO、4。HUOBI、5。COINBASE、6。KRAKEN、7。BITFINEX、8。KUCOIN、9。BYBIT、10。

通貨サークルの上位3つのトップ10のフリーマーケットビューイングソフトウェアは、OKX、Binance、およびgate.ioです。 1。OKXは、シンプルなインターフェイスとリアルタイムデータを提供し、さまざまなチャートと市場分析をサポートしています。 2。Binanceには強力な機能、正確なデータがあり、あらゆる種類のトレーダーに適しています。 3。Gate.ioは、その安定性と包括性で知られており、長期的および短期投資家に適しています。

信頼性が高く使いやすい仮想通貨交換アプリは次のとおりです。1。Binance、2。Okx、3。Gate.io、4。Coinbase、5。Kraken、6。HuobiGlobal、7。Bitfinex、8。Kucoin、9。Bittrex、10。Poloniex。これらのプラットフォームは、トランザクションのボリューム、ユーザーエクスペリエンス、セキュリティに最適なものとして選択され、すべてが登録、検証、預金、撤退、および取引操作を提供しています。

できる。 2つの交換は、同じ通貨とネットワークをサポートする限り、コインを互いに転送できます。手順には次のものが含まれます。1。コレクションアドレスを取得し、2。引き出しリクエストを開始します。3。確認を待ちます。注:1。正しい転送ネットワークを選択します。2。住所を注意深く確認します。3。手数料を理解します。4。アカウント時間に注意してください。5。交換がこの通貨をサポートしていることを確認します。

上位10の安全で使いやすい仮想通貨取引プラットフォームは、Binance、Okx、Gate.io、Coinbase、Kraken、Huobi、Bybit、Kucoin、Bitfinex、およびBittrexです。これらのプラットフォームは、高流動性、低い取引手数料、多様化された取引製品、グローバルレイアウト、強力な技術サポート、革新的な取引システム、高度なセキュリティ、豊富な通貨、ユーザーフレンドリーなインターフェイスで高く評価されています。
