Iview 結(jié)合vuex 監(jiān)聽(tīng) Table組件滾動(dòng) 返回保持之前的位置

為了這個(gè)問(wèn)題是各種搜劫瞳,最后的結(jié)果是沒(méi)搜到和媳,我寫(xiě)下我的解決方案吧巴刻,其實(shí)挺簡(jiǎn)單的。

image.png

首先最重要的你得先找到Table組件中的table傍妒,就是這個(gè)class:ivu-table-body幔摸。然后在mounted方法中找到這個(gè)dom元素,并監(jiān)聽(tīng)他的scroll颤练。(created方法中拿不到dom元素)既忆,因?yàn)樵赾reated方法中dom元素還沒(méi)有渲染完成。

   mounted() {
            document.getElementsByClassName('ivu-table-body')[0].addEventListener('scroll', (event) => {
                // console.log(event.target.scrollTop);
                console.log(event);
                this.tableScroll = event.target.scrollTop;
    
            });
        },

這個(gè)event里是什么呢。請(qǐng)看下面


image.png

然后繼續(xù)往target里看尿贫,里面有很多屬性电媳,直奔最下面,


image.png

那么怎么結(jié)合vuex來(lái)使用呢庆亡?

state中
const state = {
    transobjectData:{},//為了記錄transobject頁(yè)面的數(shù)據(jù)
};
mutations.js中
export default{
    SET_TransObjectData(state,transobjectData){
        state.transobjectData = transobjectData;
    }
}
getters.js中
export default{
    getTransObject:(state) => state.transobjectData,
}

vuex配置好之后匾乓,然后在路由發(fā)生變化的時(shí)候,存下數(shù)據(jù)

   beforeRouteLeave(to, from, next) {
            this.$debug.log(to);
            this.$debug.log(from);
            if (to.path == '/transobjectsalelist') {
                this.$debug.log(this.data);
    
                this.$store.commit('SET_TransObjectData', {
                    address: this.address,
                    data: this.data,//數(shù)據(jù)
                    page: this.page,//當(dāng)前第幾頁(yè)
                    scroll: this.tableScroll, //存儲(chǔ)滾動(dòng)
                });
            } else {
                this.$store.commit('SET_TransObjectData', {});
            }
            // this.$store.commit('SET_IndexScroll', position) //離開(kāi)路由時(shí)把位置存起來(lái)
            next()
        },

當(dāng)再次進(jìn)入這個(gè)路由的時(shí)候,再created方法中搞個(gè)恢復(fù)數(shù)據(jù)的方法recoveryData

   recoveryData() { //恢復(fù)數(shù)據(jù)
                var d = this.$store.state.transobjectData;//拿到數(shù)據(jù)
                if (d.address == this.address) {
                    this.$debug.log(d);
                    this.data = d.data;
                    this.address = d.address;
                    this.page = d.page;
                    this.tableScroll = d.scroll;
                    setTimeout(() => {//這里要延遲下滾動(dòng)
                        document.getElementsByClassName('ivu-table-body')[0].scroll(0, d.scroll);
                    }, 400)
                    return;
                }
            },

好了這就是這個(gè)問(wèn)題的解決辦法又谋。

想到了之前搞過(guò)一個(gè)相似的問(wèn)題拼缝,直接貼出解決辦法,是頁(yè)面返回到原來(lái)的位置彰亥。

離開(kāi)的時(shí)候存下數(shù)據(jù)
     beforeRouteLeave(to, from, next) {
            let position = window.scrollY //記錄離開(kāi)頁(yè)面的位置
            if (position == null) position = 0
            this.$store.commit('SET_IndexScroll', position) //離開(kāi)路由時(shí)把位置存起來(lái)
            next()
        },

回來(lái)的時(shí)候直接刷新咧七。

   popScrollY() {
                let indexScrollY = this.$store.state.indexScrollY
                window.scroll(0, indexScrollY)
            },
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市任斋,隨后出現(xiàn)的幾起案子继阻,更是在濱河造成了極大的恐慌,老刑警劉巖废酷,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘟檩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡澈蟆,警方通過(guò)查閱死者的電腦和手機(jī)墨辛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)趴俘,“玉大人睹簇,你說(shuō)我怎么就攤上這事×壬粒” “怎么了太惠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)疲憋。 經(jīng)常有香客問(wèn)我垛叨,道長(zhǎng),這世上最難降的妖魔是什么柜某? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮贯底,結(jié)果婚禮上彤避,老公的妹妹穿的比我還像新娘税迷。我一直安慰自己,他們只是感情好翰绊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般监嗜。 火紅的嫁衣襯著肌膚如雪谐檀。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天裁奇,我揣著相機(jī)與錄音桐猬,去河邊找鬼。 笑死刽肠,一個(gè)胖子當(dāng)著我的面吹牛溃肪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播音五,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼惫撰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了躺涝?” 一聲冷哼從身側(cè)響起厨钻,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坚嗜,沒(méi)想到半個(gè)月后夯膀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惶傻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年棍郎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片银室。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涂佃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜈敢,到底是詐尸還是另有隱情辜荠,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布抓狭,位于F島的核電站伯病,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏否过。R本人自食惡果不足惜午笛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苗桂。 院中可真熱鬧药磺,春花似錦、人聲如沸煤伟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至围辙,卻和暖如春我碟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姚建。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工矫俺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人桥胞。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓恳守,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親贩虾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子催烘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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

  • 一:什么是閉包?閉包的用處缎罢? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)伊群。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 9,600評(píng)論 1 52
  • Vue知識(shí)點(diǎn)的總結(jié) Vue中的指令及其基本語(yǔ)法: 第一步:從官網(wǎng)上下載vue開(kāi)發(fā)版本的js文件 引入js文件 ...
    往前走莫回頭_2cd6閱讀 1,466評(píng)論 0 1
  • 謝謝作者的文章 非常喜歡 請(qǐng)?jiān)试S收藏策精! 博客園首頁(yè)博問(wèn)閃存新隨筆訂閱管理 vue之better-scroll的封裝...
    peng凱閱讀 16,523評(píng)論 2 5
  • 一生一代一雙人目錄 “呢呀~你們~進(jìn)來(lái)呀~#~” 未見(jiàn)其人先聞其聲舰始,這聲音太極品了,真像鯢魚(yú)叫喚咽袜,就是浙江·志玲的...
    水影晃樹(shù)閱讀 437評(píng)論 0 5
  • 我高一時(shí)喜歡班里一個(gè)男孩丸卷,他姓陳,當(dāng)時(shí)询刹,我特別喜歡演員陳曉谜嫉,覺(jué)得,好巧凹联。沒(méi)想過(guò)告白沐兰,而他,學(xué)期結(jié)束和我舍友在一起了...
    十_余閱讀 153評(píng)論 0 0