中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在element-ui的select下拉框如何實現滾動加載

發布時間:2021-08-07 11:03:48 來源:億速云 閱讀:460 作者:小新 欄目:web開發

這篇文章給大家分享的是有關在element-ui的select下拉框如何實現滾動加載的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

這里通過自定義封裝vue指令進行封裝。

以下以element-ui中的select為例:

 在main.js同級別文件中添加directives.js:

// directives.js

import Vue from 'vue'
Vue.directive('loadmore', {
 bind (el, binding) {
  // 獲取element-ui定義好的scroll盒子
  const SELECTWRAP_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap')
  SELECTWRAP_DOM.addEventListener('scroll', function () {
   
   const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight
   if (CONDITION) {
    binding.value()
   }
  })
 }
})
  • v-loadmore: 用于在element-ui的select下拉框加上滾動到底事件監聽

  • scrollHeight 獲取元素內容高度(只讀)

  • scrollTop 獲取或者設置元素的偏移值,常用于, 計算滾動條的位置, 當一個元素的容器沒有產生垂直方向的滾動條, 那它的scrollTop的值默認為0.

  • clientHeight 讀取元素的可見高度(只讀)

如果元素滾動到底, 下面等式返回true, 沒有則返回false

scrollHeight - scrollTop === clientHeight

這里運用到了滾動偏移來做監聽來處理,這與聊天對話框中默認下拉到底部的原理是大同小異的,后續我會有專門的文章進行講解。

// main.js
// 注冊滾動條加載觸發事件v-loadmore綁定
import directives from './directives'
Vue.use(directives)

然后在組件中使用

<!-- vue -->
<el-select
 v-model="chatmode"
 placeholder="聊天模式"
 size="mini"
 v-loadmore="loadMore">
 <el-option
  v-for="item in chatmodes"
  :key="item.value"
  :label="item.qa_name"
  :value="item.qa_code"
  :disabled="item.disabled">
 </el-option>
</el-select>
<script>
export default {
 methods: {
  loadMore () {
   // 這里寫入要觸發的方法
  }
 }
}
</script>

感謝各位的閱讀!關于“在element-ui的select下拉框如何實現滾動加載”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西华县| 琼中| 叙永县| 岐山县| 高州市| 鸡西市| 乳源| 兴文县| 安庆市| 蓝山县| 富川| 高雄县| 增城市| 客服| 阳江市| 金阳县| 讷河市| 梓潼县| 锦州市| 申扎县| 吴桥县| 棋牌| 宜兰市| 鸡西市| 乐亭县| 枞阳县| 壤塘县| 新蔡县| 沧源| 芜湖县| 承德市| 大英县| 亳州市| 苏州市| 临沭县| 峡江县| 当雄县| 辽阳市| 阳城县| 通渭县| 水城县|