藍(lán)山帝景
2019-03-13 17:15:42
我的目的是在打開(kāi)一個(gè)單頁(yè)的時(shí)候,從數(shù)據(jù)庫(kù)獲取一張表里的多條數(shù)據(jù)然后以通知的形式顯示出來(lái),因此在mounted鉤子函數(shù)中獲取數(shù)據(jù)庫(kù)數(shù)據(jù)后,用for循環(huán)調(diào)用Notification這個(gè)組件。mounted:function(){ /*獲取產(chǎn)品缺少警告列表并彈出警告消息*/ this.$http.post('/api/users/getWarning',{}).then((response) => { this.lacklist = response.body; for(var i=0;i<this.lacklist.length;i++){ this.$notify({ title:'警告', message:this.lacklist[i].lackwarning_msg, type:'warning', duration:0 }); } }) },但是在顯示的時(shí)候這幾個(gè)組件疊在了一起,檢查了一下樣式發(fā)現(xiàn)組件top值遞增量遠(yuǎn)小于說(shuō)明文檔演示時(shí)組件top值的遞增量。但是設(shè)置了duration為0不自動(dòng)關(guān)閉Notification組件,當(dāng)跳轉(zhuǎn)到別的頁(yè)面再跳轉(zhuǎn)回來(lái)時(shí),新彈出的組件和之前就存在的組件之間的距離(紅色區(qū)域),卻又剛好就是之前重疊的三個(gè)組件的距離(黃色框選的三個(gè)組件)。想問(wèn)問(wèn)各位大佬出現(xiàn)這種情況是因?yàn)镹otification組件不能使用索引還是其他什么原因?如果不能使用索引那我應(yīng)該怎么實(shí)現(xiàn)循環(huán)調(diào)用Notification組件?
3 回答

溫溫醬
TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
沒(méi)有看源碼,但是我理解是每次調(diào)用$notify.xxxx的時(shí)候,它會(huì)自動(dòng)去計(jì)算當(dāng)前應(yīng)該的偏移量是多少,但是當(dāng)?shù)趲状斡?jì)算的時(shí)候,由于第一次的頁(yè)面還沒(méi)有渲染出來(lái),所以計(jì)算出的偏移量是不準(zhǔn)確的。這樣就造成了重疊在一起的效果。
可以參考一下,強(qiáng)制設(shè)置偏移量
var offset = 0;
for(var j = 0; j< data.length; j++){
vm.$notify.error({
title: '錯(cuò)誤',
message: data[j],
offset: offset
});
offset += 70
}
添加回答
舉報(bào)
0/150
提交
取消