使用Element的InfiniteScroll 無限滾動組件報錯的解決
一、問題描述
在使用Element
的InfiniteScroll
無限滾動時候出現(xiàn)以下錯誤:
TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'
InfiniteScroll
的更多用法element官網(wǎng)
二、解決辦法
給需要使用 InfiniteScroll
的元素或者它的父級元素加上 overflow:auto;
屬性即可。
<template> <div class="home"> <div v-infinite-scroll="loadMore" v-for="i in count" class="infinite-list" :key="i">{{ i+1 }}</div> </div> </template> <script> export default { data() { return { count:5 } }, methods: { loadMore() { // this.count+=1; console.log('加載...') } } }; </script> <style lang="scss"> .home { .infinite-list{ width: 500px; height: 40px; line-height: 40px; background: lightblue; margin:10px; overflow:auto; // 加上該屬性即可。由瀏覽器定奪,如果內容被修剪,瀏覽器就會顯示滾動條以便查看其余內容 } } </style>
三、注意事項
InfiniteScroll
無限滾動組件, 滾動至底部時,加載更多數(shù)據(jù)。據(jù)官網(wǎng)描述其基礎用法:
給實現(xiàn)滾動加載的元素(會出現(xiàn)滾動條的元素)添加 v-infinite-scroll
屬性,屬性值是相應的加載方法名,如loadMore
,即可實現(xiàn)滾動到底部時觸發(fā)該loadMore
方法
注意屬性和css樣式的設置:
- 給設置了 v-infinite-scroll的元素或者其父元素設置高度如
height:200px;
,并讓其超出高度顯示滾動條overflow:auto;
infinite-scroll-disabled="disabled"
,這里的disabled
是computed
里面的屬性,利用其控制是否繼續(xù)加載。當disabled為true的時候,該加載函數(shù)loadMore
函數(shù)將不再被觸發(fā)。infinite-scroll-immediate
默認為 true,即 立即執(zhí)行加載方法loadMore
,以防初始狀態(tài)下內容無法撐滿容器。即loadMore會先執(zhí)行一次,這里設置false,是讓其初始不執(zhí)行,等滾動到底部時,再執(zhí)行該loadMore
方法。
<template> <div class="infinite-list-wrapper"> <ul class="list" v-infinite-scroll="loadMore" infinite-scroll-disabled="disabled" infinite-scroll-immediate="false"> <li v-for="i in count" class="list-item" :key="i">{{ i }}</li> </ul> <p v-if="loading">加載中...</p> <p v-if="noMore">沒有更多了</p> </div> </template> <script> export default { data() { return { count:5, loading: false }; }, computed: { noMore() { return this.count >= 20; }, disabled() { return this.loading || this.noMore; } }, methods: { loadMore() { console.log("加載...") this.loading = true; setTimeout(() => { this.count += 2; this.loading = false; }, 2000); } } }; </script> <style lang="scss"> .home { .infinite-list-wrapper{ height:200px; // 1. 指定高度 overflow: auto; // 2. 內容超過指定高度 出現(xiàn)滾動條 width: 500px; border:1px solid green; margin-top:120px; .list-item{ background: lightblue; margin:10px; height:30px; line-height: 30px; } } } </style>
到此這篇關于使用Element的InfiniteScroll 無限滾動組件報錯的解決的文章就介紹到這了,更多相關Element InfiniteScroll無限滾動報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue+vuex+json-seiver實現(xiàn)數(shù)據(jù)展示+分頁功能
這篇文章主要介紹了vue+vuex+json-seiver實現(xiàn)數(shù)據(jù)展示+分頁功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04Vue+Bootstrap實現(xiàn)簡易學生管理系統(tǒng)
這篇文章主要為大家詳細介紹了Vue+Bootstrap實現(xiàn)簡易學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-02-02vue2.0 computed 計算list循環(huán)后累加值的實例
下面小編就為大家分享一篇vue2.0 computed 計算list循環(huán)后累加值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03vuejs在解析時出現(xiàn)閃爍的原因及防止閃爍的方法
這篇文章主要介紹了vuejs在解析時出現(xiàn)閃爍的原因及防止閃爍的方法,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起看看吧2016-09-09