vue-seamless-scroll的使用與注意事項

需求描述

系統(tǒng)中展示進行中任務(wù)列表,默認展示5條記錄驱还,超出5條記錄后列表自動滾動展示。

插件安裝及使用

vue-seamless-scroll 基于vue.js的無縫滾動

  • 安裝:
npm install vue-seamless-scroll --save
yarn add vue-seamless-scroll
  • 系統(tǒng)引用

全局注冊main.js

import Vue from 'vue'
import scroll from 'vue-seamless-scroll'
Vue.use(scroll)

單個注冊.vue

import vueSeamlessScroll from 'vue-seamless-scroll'
export default {
    components: {
      vueSeamlessScroll
    }
}
  • 代碼實現(xiàn)
<div class="title-text">
    <table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <th>任務(wù)名稱</th>
        <th>執(zhí)行人</th>
        <th>當(dāng)前進度</th>
      </tr>
    </table>
</div>
<div v-if="list.length" @click="showInfo" class="content">
    <vue-seamless-scroll :key="timeKey" :data="list" :class-option="scrollOption" class="info">
      <table border="0" cellpadding="0" cellspacing="0">
        <tr v-for="(item, index) in list" :key="index" :data-index="index">
          <td>{{item.title}}</td>
          <td>{{item.name}}</td>
          <td>{{item.progress}}</td>
        </tr>
      </table>
    </vue-seamless-scroll>
</div>
<div v-else class="empty">暫無數(shù)據(jù)</div>
  • 部分配置
computed: {
  scrollOption () {
    return {
      step: 0.5, // 數(shù)值越大速度滾動越快
      limitMoveNum: 6, // 開始無縫滾動的數(shù)據(jù)量 this.list.length+1
      hoverStop: true, // 是否開啟鼠標懸停stop
      direction: 1, // 0向下 1向上 2向左 3向右
      openWatch: true, // 開啟數(shù)據(jù)實時監(jiān)控刷新dom
      singleHeight: 21, // 單步運動停止的高度(默認值0是無縫不停止的滾動) direction => 0/1
      singleWidth: 0, // 單步運動停止的寬度(默認值0是無縫不停止的滾動) direction => 2/3
      waitTime: 2500 // 單步運動停止的時間(默認值1000ms)
    }
  }
},

注意事項

  1. vue-seamless-scroll
    滾動數(shù)據(jù)data必須設(shè)置闷沥,否則將不會滾動。樣式需要設(shè)置高度與overflow: hidden;
  2. 單步運動停止的高度
    單步運動停止的高度應(yīng)該為單行數(shù)據(jù)高度的整數(shù)倍舆逃,在文章示例中就是<tr>高度的整數(shù)倍。當(dāng)設(shè)置為整數(shù)倍時路狮,列表文字都可以清楚展示看做為無縫滾動,否則就會出現(xiàn)文字展示不全的問題蔚约。
  3. 單行數(shù)據(jù)添加點擊事件無效
    一般情況下我們會把點擊事件添加到循環(huán)行<tr>上,但是由于此組件的原因苹祟,點擊事件會出現(xiàn)問題。解決方法苔咪,給父元素綁定事件,在子元素上進行事件捕獲团赏。
  • 父元素綁定事件:父容器添加click事件showInfo,如果需要傳入其他參數(shù)舔清,showInfo可以改為showInfo($event, param)曲初,param為傳入?yún)?shù)
  • 在循環(huán)行上添加自定義的 data-x 屬性
  • 在事件showInfo中通過鼠標事件e與自定義屬性進行查找
showInfo(e) {
  let idx = e.target.parentNode.dataset.index;
  console.log(this.list[idx]) //點擊行數(shù)據(jù)
  // e:鼠標事件,e.target:點擊元素(<td>)臼婆,e.target.parentNode:點擊元素父元素(<tr>),e.target.parentNode.dataset:自定義屬性位置
}
  1. 頁面存在定時器颁褂,數(shù)據(jù)實時刷新時,數(shù)據(jù)量(list.length)減少颁独,由可滾動數(shù)據(jù)量變?yōu)椴豢蓾L動,頁面顯示依然滾動伪冰,limitMoveNum未生效。
    在vue-seamless-scroll增加key屬性贮聂,避免組件復(fù)用,每次數(shù)據(jù)請求時刷新key吓懈。key可以定義為當(dāng)前時間(new Date().getTime())。

參考鏈接

vue-seamless-scroll官方文檔
vue-seamless-scroll插件在線演示文檔
vue-seamless-scroll的使用以及實例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末停巷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子榕栏,更是在濱河造成了極大的恐慌扒磁,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妨托,死亡現(xiàn)場離奇詭異,居然都是意外死亡吝羞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門敦腔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恨溜,你說我怎么就攤上這事找前∨凶澹” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵形帮,是天一觀的道長。 經(jīng)常有香客問我辩撑,道長,這世上最難降的妖魔是什么槐臀? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮水慨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晰洒。我一直安慰自己朝抖,他們只是感情好谍珊,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著侮邀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贝润。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天打掘,我揣著相機與錄音,去河邊找鬼尊蚁。 笑死,一個胖子當(dāng)著我的面吹牛横朋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼绝骚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了压汪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤止剖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后穿香,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡皮获,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了洒宝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡雁歌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出靠瞎,到底是詐尸還是另有隱情,我是刑警寧澤乏盐,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站丑勤,受9級特大地震影響华嘹,放射性物質(zhì)發(fā)生泄漏法竞。R本人自食惡果不足惜强挫,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俯渤。 院中可真熱鬧,春花似錦八匠、人聲如沸絮爷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柜蜈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淑履,已是汗流浹背隶垮。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工狸吞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人指煎。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像贯要,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子崇渗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容