• Ajax
  • Ant design
  • Axios-Fetch
  • Avue
  • Browser
  • Canvas
  • CSS
  • Dos-bat
  • Dva
  • Dedecms
  • Echart
  • ElementUI
  • Editors
  • Git
  • GeoServer
  • GIS
  • H5
  • Jquery
  • Java安卓
  • Json
  • Javascript
  • Leaflet
  • Linux
  • Life-Info
  • Mock
  • MongoDB
  • Network
  • NodeJS
  • NPM
  • React
  • 设计运营
  • SEO
  • SVG
  • TypeScript
  • Tools
  • umi
  • uni-APP
  • Vant
  • Vue
  • Windows
  • webpack
  • 位置:OC中文网 > 其他 > Vue >

    vue通过refs修改某个弹窗中的某个dom的宽度

    来源:openlayers-cesium.com 时间:07-04

     

    根据需求,点击按钮进入弹窗,下面的界面是进入弹窗后的下一步。通过ref计算出横向滚动条上面的元素的长度。

    基本代码段:

    1. <div class="tabtit"> Transit time</div> 
    2. <div class="transit"> 
    3.     <div class="long " ref="longsat"> 
    4.         <div class="satinfo"> 
    5.             <div class="pic1"></div> 
    6.             <div class="bottom">{{condition.fdate}}</div> 
    7.         </div> 
    8.         <div class="satinfo" v-for="(item,index) in myAOIs" :key="index"> 
    9.             <div class="top">{{item.satellite}}</div> 
    10.             <div class="pic"></div> 
    11.             <div class="bottom">{{item.time}}</div> 
    12.         </div> 
    13.         <div class="satinfo"> 
    14.             <div class="pic1"></div> 
    15.             <div class="bottom">{{condition.tdate}}</div> 
    16.         </div> 
    17.     </div> 
    18.  
    19. </div> 

    核心处理段

    1. updated() { 
    2.     this.$nextTick(() => { 
    3.         if(this.$refs.longsat){ 
    4.             this.$refs.longsat.style.width = this.myAOIs.length * 200 + 500 + 'px'; 
    5.         }                
    6.     }) 
    7. }, 
    由于是还没有进入到最终的界面,this.$refs.longsat 是不存在的,当存在的时候,利用undated 和 his.$nextTick 在更新数据状态后,显示出来长度的大小。