国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何vue使用ant design Vue中的select組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),并解決存在的一個(gè)問題。

這篇具有很好參考價(jià)值的文章主要介紹了如何vue使用ant design Vue中的select組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),并解決存在的一個(gè)問題。。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? ? 需求:拉下菜單中數(shù)據(jù)過多,200條以上,就會導(dǎo)致select組件卡死。所以需要使用滑動到底部使其分頁加載

? ? 可以借助 onPopupScroll 事件來監(jiān)聽下拉菜單的滾動事件,并判斷當(dāng)前是否已經(jīng)到達(dá)了下拉菜單底部。具體可以通過以下步驟實(shí)現(xiàn):

如何vue使用ant design Vue中的select組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),并解決存在的一個(gè)問題。

? ? 1、在組件中綁定?@popupScroll回調(diào)事件

 <a-select
                v-model="Form.governmentDirectors"
                @popupScroll="handlePopupScroll"
              >
                <a-select-option
                  v-for="i in queryPageData"
                  :value="i.id"
                  :key="i.id"
                  >{{ i.fullName }}</a-select-option
                >
              </a-select>

? ? 2、在事件處理函數(shù)中,獲取當(dāng)前dom節(jié)點(diǎn)下滑的距離和滾動的位置。

handlePopupScroll(e) {
  const { target } = e;
  const { scrollTop, scrollHeight, clientHeight } = target;

  if (scrollTop + clientHeight == scrollHeight) {
    // 已經(jīng)到達(dá)底部,觸發(fā)分頁邏輯
    // todo 這里就可以觸發(fā)加載下一頁請求  具體函數(shù)根據(jù)當(dāng)前業(yè)務(wù)需求來定
    handlePagination();
  }
}

? ? 分頁邏輯例子:主要是頁碼++,數(shù)據(jù)追加(concat)

querypageFn() {
      const params = {
        page: this.querypage.page,
        size: this.querypage.size
      }
      queryListPage(params).then((res) => {
        if (res.data.code === 0) {
          if (res.data.data.length === 0) {
            return
          } else {
            this.queryPageData = this.queryPageData.concat(res.data.data)
          }
        }
      })
    },

? ? 以上基本實(shí)現(xiàn)了使用a-select下拉框組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),下面我們來說一下我遇到的坑。

當(dāng)瀏覽器大小縮放為正常100%是沒有問題的,可以正常下拉

并且打印了scrollTop, scrollHeight, clientHeight三個(gè)屬性的關(guān)系

如何vue使用ant design Vue中的select組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),并解決存在的一個(gè)問題。

? ? 但是當(dāng)瀏覽器縮放大小調(diào)整不是100%后 我們下拉框滑到底部,是不會繼續(xù)請求的,這時(shí)控制臺也沒有報(bào)錯(cuò),接口返回也沒有什么問題。

console.log(scrollHeight, scrollTop, clientHeight, 'llslsl')

以下為打印的內(nèi)容 分辨率為125%的時(shí)候,我們會發(fā)現(xiàn)?scrollTop發(fā)現(xiàn)偏差,導(dǎo)致條件等式不成立

如何vue使用ant design Vue中的select組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),并解決存在的一個(gè)問題。

? ? 到現(xiàn)在我就徹底慌了,難道scrollTop屬性和瀏覽器分辨率有關(guān)。查閱資料后還真的是。

可以這樣解釋:當(dāng)分辨率發(fā)生變化時(shí),頁面的布局和尺寸也會發(fā)生相應(yīng)的變化,導(dǎo)致元素的位置和大小產(chǎn)生了變化。而 e.target 是指觸發(fā)事件的元素,在這個(gè)元素尺寸和位置發(fā)生變化之后,它的 scrollTop 屬性自然也會受到影響。

具體地說,當(dāng)元素的高度變大或縮小時(shí),它的內(nèi)容區(qū)域的總高度也會發(fā)生相應(yīng)的變化,進(jìn)而影響到 scrollTop 屬性的值。例如,當(dāng)元素高度變大時(shí),它的內(nèi)容就需要滾動更多的距離才能到達(dá)頂部,因此 scrollTop 屬性的值也會相應(yīng)地增大;而當(dāng)元素高度變小時(shí),則需要滾動更少的距離才能到達(dá)頂部,因此 scrollTop 屬性的值也會相應(yīng)地減小。

以上是分辨率變化對 e.targetscrollTop 屬性的影響的一個(gè)粗略解釋。需要注意的是,具體的影響還取決于其他因素,如CSS樣式、頁面結(jié)構(gòu)等因素的變化。如果具體情況下需要深入了解 e.targetscrollTop 屬性是如何受到影響的,可以通過調(diào)試工具等手段進(jìn)行進(jìn)一步的排查和分析。

? ? 說一下解決方案吧,我發(fā)現(xiàn)無論怎么變大變小??scrollTop 的偏差都會在2以內(nèi)。所以我們需要改一下if判斷里面的判斷方式。

if (scrollTop + 2 + offsetHeight >= scrollHeight)?

? ? 以上我們手動給他把這個(gè)偏差加上2,并且把等式換為大于等于,我們就能完美解決此bug,我一開始以為是歪點(diǎn)子,現(xiàn)在總結(jié)之后發(fā)現(xiàn)這是一個(gè)合適解決方案哦!文章來源地址http://www.zghlxwxcb.cn/news/detail-419427.html

到了這里,關(guān)于如何vue使用ant design Vue中的select組件實(shí)現(xiàn)下拉分頁加載數(shù)據(jù),并解決存在的一個(gè)問題。的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue3+ant design vue+ts實(shí)戰(zhàn)【ant-design-vue組件庫引入】

    vue3+ant design vue+ts實(shí)戰(zhàn)【ant-design-vue組件庫引入】

    ????更多內(nèi)容見Ant Design Vue官方文檔 ??點(diǎn)擊復(fù)習(xí)vue3【watch檢測/監(jiān)聽】相關(guān)內(nèi)容 ??????一個(gè)好項(xiàng)目的編寫不僅需要完美的邏輯,以及相應(yīng)的技術(shù),同時(shí)也需要一個(gè) 設(shè)計(jì)規(guī)范的高質(zhì)量UI組件庫 。??????本期文章將會詳細(xì)講解 Ant Design of Vue 組件庫的 安裝、使用、引入 。

    2024年02月02日
    瀏覽(49)
  • ant-design-vue中table組件使用customRender渲染v-html

    ant-design-vue遇到table中列表數(shù)據(jù)需要高亮渲染 1、customRender可以使用,但是使用v-html發(fā)現(xiàn)不生效還報(bào)錯(cuò) 2、customRender函數(shù)返回肯定是jsx語法,于是發(fā)現(xiàn)這樣寫可以

    2024年02月15日
    瀏覽(36)
  • ant-design-vue在ios使用AUpload組件喚起了相機(jī),HTML的 `capture` 屬性

    ant-design-vue在ios使用AUpload組件喚起了相機(jī),HTML的 `capture` 屬性

    在使用ant design vue組件的上傳組件AUpload的時(shí)候有一個(gè)問題,直接按照demo寫,在ios上會喚起相機(jī),但是實(shí)際上我們的需求是彈出選擇相冊/相機(jī)這個(gè)彈框。 解決辦法是加一個(gè)?cupture=\\\"null\\\"這個(gè)屬性即可 HTML attribute: capture - HTML: HyperText Markup Language | MDN The capture attribute specifies that

    2024年02月12日
    瀏覽(18)
  • 按需引入ant-design-vue組件

    一、首先創(chuàng)建一個(gè)新的Vue項(xiàng)目 選擇default含有babel和eslint。或者自定義Manually select features。 babel是一個(gè)轉(zhuǎn)碼器,主要用于ES2015+ 代碼轉(zhuǎn)換為 JavaScript 向后兼容版本的代碼 eslint是一個(gè)代碼檢測工具。用來規(guī)范編碼規(guī)范用。 自定義可選的插件有,Babel,TypeScript,Progressive Web App (P

    2024年02月13日
    瀏覽(34)
  • html中如何用vue語法,并使用UI組件庫 ,html中引入vue+ant-design-vue或者vue+element-plus

    html中如何用vue語法,并使用UI組件庫 ,html中引入vue+ant-design-vue或者vue+element-plus

    前言 先說一下本次應(yīng)用的場景,本次項(xiàng)目中,需要引入github中別人寫好的插件,插件比較大,沒有方法直接在自己項(xiàng)目中,把別人的項(xiàng)目打包合并生成html(類似于前端項(xiàng)目打包生成的 dist ),修改這里面的html,這種情況要么用原生js寫或者jquery還相對快一些,那為什么不直

    2024年02月10日
    瀏覽(27)
  • ant design vue Tree組件葉子節(jié)點(diǎn)橫向排列

    ant design vue Tree組件葉子節(jié)點(diǎn)橫向排列

    antdesignvue的樹形組件要實(shí)現(xiàn)組件葉子節(jié)點(diǎn)橫向排列有點(diǎn)坑,沒有 配置屬性,需要自己想辦法。 要實(shí)現(xiàn)的效果 看tree組件的dom結(jié)構(gòu),父元素flex豎向布局,子項(xiàng)不論節(jié)點(diǎn)層級都在同一層!?。?難點(diǎn)在于想直接把其中某一些節(jié)點(diǎn),橫向布局排列。 我的實(shí)現(xiàn)思路核心還是通過給葉子

    2024年02月01日
    瀏覽(27)
  • vue-i18n國際化多語言與多套UI組件庫使用(Element Plus、Ant Design Vue、Naive UI)

    vue-i18n國際化多語言與多套UI組件庫使用(Element Plus、Ant Design Vue、Naive UI)

    demo源碼:Vue3 UI Lang 因調(diào)研需要,需在同一個(gè)項(xiàng)目中集成好幾種UI組件庫的多語言實(shí)現(xiàn),查看各種組件庫的表現(xiàn)情況,以便選定組件庫。 注意:這只在調(diào)研過程中會如此,實(shí)際開發(fā)項(xiàng)目中極少存在一個(gè)項(xiàng)目中集成多個(gè)UI組件庫的情況。 本demo實(shí)際試驗(yàn)阿拉伯語、法語、葡萄牙語

    2024年02月08日
    瀏覽(51)
  • Ant Design Vue的table組件高度自適應(yīng)問題

    Ant Design Vue的table組件高度自適應(yīng)問題

    今天在編寫公司項(xiàng)目的時(shí)候碰到ant design vue的table組件高度沒辦法自適應(yīng)的問題,會出現(xiàn)如下頁面情況。 ?最終嘗試的解決方案只能通過監(jiān)聽瀏覽器窗口變化實(shí)現(xiàn)自適應(yīng) (1)給表格的srcoll定義一個(gè)動態(tài)接收參數(shù),方便后面數(shù)據(jù)增加動態(tài)改變滾動高度。 ?(2)vue3項(xiàng)目中就直接

    2024年02月16日
    瀏覽(24)
  • Vue3 - 解決使用 Tailwindcss 后導(dǎo)致 UI 組件庫樣式受影響,引入后發(fā)現(xiàn)項(xiàng)目組件庫的組件樣式不對了(Element/Ant Design Vue/Naive UI/TDesign)

    網(wǎng)上的教程都無法解決,但本文可以幫助您快速解決該問題。 當(dāng)項(xiàng)目引入 Tailwind css 后,使用 UI 組件庫的某些組件時(shí),發(fā)現(xiàn)有些樣式丟失及顯示錯(cuò)位、背景色丟失等問題, 頻發(fā)于【按鈕組件】背景色丟失 | 【message消息提示組件】樣式位置變形等,嚴(yán)重的整個(gè)組件庫樣式都亂

    2024年02月07日
    瀏覽(29)
  • Vue3的幾款UI組件庫:Naive UI、Element Plus、 Ant Design Vue、Arco Design

    vue3系列的三款ui框架簡要對比: 框架 Element Plus Naive ui Ant Design Vue Arco Design 簡介 element-ui Vue3版本,國內(nèi)使用廣泛 Vue作者推薦的Vue3ui 組件庫 Ant Design 的 Vue 實(shí)現(xiàn),組件的風(fēng)格與 Ant Design 保持同步 ArcoDesign 主要服務(wù)于字節(jié)跳動旗下中后臺產(chǎn)品的體驗(yàn)設(shè)計(jì)和技術(shù)實(shí)現(xiàn) 社區(qū)活躍度

    2024年02月03日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包