mint-ui 共用彈窗,內部滾動重置問題
問題描述:
在專案中,一個訂單可能含有多個物流軌跡,檢視包裹軌跡時,共用了popup元件,發現一個問題,彈窗內部滾動的位置無法重置,檢查了css程式碼,沒有什麼特殊的,起初搞了一個臨時方案,關閉的時候高度置為0,開啟的時候重新賦值,總感覺不舒服。
<mt-popup v-model="popupVisible" v-if="popupVisible" > <div class="logistics"> <div class="title"> <div class="con"> <div class="logisticsSign">物流資訊</div> <div>運單號:{{expressNo}}</div> </div> </div> <div class="info"> <div class="box" v-for="(log,index) in logs" :key="index"> <div class="icon"></div> <div class="step"> <div class="step_address">{{log.desc}}</div> <div class="step_time">{{log.time}}</div> </div> </div> </div> <div @click="confirm" class="confirm mainColor"> 確定 </div> </div> </mt-popup>
仔細查詢原因後,發現 v-model="popupVisible"。彈窗是根據popupVisible的true or false顯示隱藏的,原理和v-show,一致,雖然瞭解vue指令時,簡單記憶了v-show切換成本低,v-if更高,解決該問題的簡單辦法就是使用v-if,關閉彈窗的時候元件銷燬掉。
具體原理未做深刻了解,整理知識點如下:
VUE中的v-if與v-show
1.共同點
都是動態顯示DOM元素
2.區別
(1)手段:v-if是動態的向DOM樹內新增或者刪除DOM元素;v-show是通過設定DOM元素的display樣式屬性控制顯隱; (2)編譯過程:v-if切換有一個區域性編譯/解除安裝的過程,切換過程中合適地銷燬和重建內部的事件監聽和子元件;v-show只是簡單的基於css切換; (3)編譯條件:v-if是惰性的,如果初始條件為假,則什麼也不做;只有在條件第一次變為真時才開始區域性編譯(編譯被快取?編譯被快取後,然後再切換的時候進行區域性解除安裝); v-show是在任何條件下(首次條件是否為真)都被編譯,然後被快取,而且DOM元素保留; (4)效能消耗:v-if有更高的切換消耗;v-show有更高的初始渲染消耗; (5)使用場景:v-if適合運營條件不大可能改變;v-show適合頻繁切換。
Tips:(1)如果v-show作用的元素,css檔案中display:none,通過v-show進行設定不能顯示該元素;
原因:v-show控制顯隱,是通過js程式碼去修改元素的element style,如果value為false,設定display: none;如果value為true,設定display: '';於是value為true時,只能將element style中的display效果清除,並不能覆蓋css中的display效果;
相關推薦
mint-ui 共用彈窗,內部滾動重置問題
問題描述: 在專案中,一個訂單可能含有多個物流軌跡,檢視包裹軌跡時,共用了popup元件,發現一個問題,彈窗內部滾動的位置無法重置,檢查了css程式碼,沒有什麼特殊的,起初搞了一個臨時方案,關閉的時候高度置為0,開啟的時候重新賦值,總感覺不舒服。 &l
Springboot下載功能,附件超過8K不能顯示下載彈窗,頁面亂碼問題
strong oid map str 亂碼 ica req 大小 出現 Springboot項目中遇到一個文件下載問題,當文件大小超過8K時,不會出現彈出窗,而是直接在頁面顯示亂碼。 有問題的源碼如下: @RequestMapping(value = "/exportFi
頁面設置彈窗,點擊其他區域,彈窗關閉
button ont class 2.0 pan 關閉 == htm ins 頁面設置彈窗,點擊其他區域,彈窗關閉(案列) <!DOCTYPE html> <html> <head> <meta charset="utf-
mui中同一個頁面按物理返回鍵只關閉彈窗,不返回上一個頁面
若一個頁面中存在彈窗,在彈窗開啟的狀態下,點選物理返回鍵只要求關閉當前彈窗,而不是返回上一頁面,再次點選物理鍵時才會返回上一頁面,有以下解決方法。 step1:進入頁面時先禁用物理返回鍵,此時還能監聽到返回鍵,只是不執行返回 mui.init({ beforeback:func
解決微信小程式自定義彈窗,滑動自定義彈窗底部的頁面也一起跟著滑動的問題
解決方案,我總結了以下幾種 1、控制底部根目錄scroll-view 的scroll-y屬性的true/false,控制底部滾動以及不滾動 2、在自定義彈框最外層元素加上catchtouchmove=’true’ ;或者catchtouchmove="preventTouchMove"
JS-設定彈窗時候禁用滾動條
方法一 啟用禁用時,設定js document.documentElement.style.overflowY = 'hidden'; 當還原時候,只需要把屬性重置scroll就可以了 document.documentElement.style.overflowY = 'sc
跳出彈窗頁面禁止滾動(PC端和手機端)
pc端如何實現 1.當彈窗顯示時,為body元素新增屬性:overflow:hidden, 當關閉彈窗時移除該屬性即可2.在彈窗的div上設定 @scroll.stop.prevent <div @scroll.stop.prevent> 你要顯示的內容 </d
mint-ui toast提示窗
用mint-ui做了一個簡單的專案,下面簡單的總結一下toast三種提示窗: 1.messagebox彈窗 this.$messagebox({ title: "溫馨提示", message: "請選擇續費銀行",
mint-ui 上拉重新整理,下拉載入
export default { data() { return { list: [], allLoaded: true, bottomStatus: "", wrapperHeight: 0, topStatus: "",
bootstrapTable 實現指定欄位行內編輯,無彈窗,自動儲存
最近做一個專案時,使用bootstrapTable 作為表格進行資料展示,客戶要求對數量欄位更直觀的行內編輯,研究了一下網上的方案並參考了下面的文章 bootstrapTable行內動態編輯行中某列欄位資料(優化版:無需彈框,直接在行內更新) ,對文中的程式碼進行改
java selenium 無彈窗,下載檔案,格式是mht
1.如果是單個網頁,可以用下面的程式碼操作,下載網頁,無彈窗。 package com.hlhlo.recruitment.download.service.impl; import org.openqa.selenium.WebDriver; import org.ope
使用vue-mint-ui 上拉載入,下拉重新整理效果
剛開始進入公司,搞得是vue開發的微信公眾號,花了好幾天做了一個這個效果,自己都笑哭了。做了這麼長時間。 <!-- <div class="dataSet" v-for="(item,index) in bulletinList" :
小程式彈窗禁止頁面滾動
彈出 fixed 彈窗後,在彈窗上滑動會導致下層的頁面一起跟著滾動。 解決方法: 在彈出層加上 catchtouchmove 事件 示例程式碼: <view class="modal-view" hidden="{{!showModal}}" bindtap="toggleMod
禁止彈窗底部背景滾動方式(二)
this.$refs.skuPanelPageRef.addEventListener("touchstart",function(e){ e.stopPropagation(); &nbs
artDialog5點選遮罩層關閉彈窗,
artDialog是一個基於javascript編寫的對話方塊彈窗元件,它有較豐富的介面,完全可以滿足你專案中各類需求的實現。 artDialog4+ 官網地址:http://code.google.com/p/artdialog/ 有原生js版本,也有提供
js,jq點選開啟小彈窗,當前頁面彈出小視窗
function openWin(url) { var u = url; window.open(u, 'newwindow', 'height=600, width=800, top=30%,
使用jbox彈窗,關閉子窗體並重新整理父窗體
$.jBox.open("iframe:Staff.aspx" "子窗體A", 650, 400, { buttons: {}, top: '10%' }); 開始使用parent.location.reload(), IE總是彈出“若再次顯示該網頁web瀏覽器需要重
JavaScript封裝自己的一個彈窗,是雙按鈕的,比較簡單一些 ,其中引用了jQuery來寫的方法,最後暴露出去,有更好的建議歡迎評論 。。。。
$(function(){ // 設定自執行函式 (function(jQuery){ // 定義建構函式 var Popup = function (title,text,fn) { this.title = title || '
Android 仿微信popuwindow彈窗,呼叫只需要一個方法,以及4.4系統popuwindow外部不響應解決辦法
對於popuwindow大家都熟悉,他給Dialog的區別就是外部可以點選消失,一些使用者提示、使用者指引基本上用的都是這個控制元件,我用這個控制元件實現了微信分享的下部彈窗,效果挺好,使用起來也比較流暢,佈局樣式,都可以根據自己的需求進行更改,很不錯的一個方法,希望能幫到大
mint ui 上拉重新整理,下拉載入問題
1.最外層包一層div,一定要有高度。2.mt-loadmore ,該外掛會預設自動載入一次,在頁面首次載入的時候。3.在載入成功後,並且是最後一頁時,要把allLoaded 設定為false;如果不是最後一頁,要設為true。大致程式碼如下:<div class="m