点击向下的箭头上面有几页的那部分显示,点击其他地方那部分隐藏,本来是没有头绪的,后来看到一个暴躁老哥的博客上有https://blog.csdn.net/xingyu_qie/article/details/78831045,就借鉴了一下(看不懂我的可以看他的,他的写的还比较详细)
- @{{ i }}/@{{ totalHandle }}
@{{ skipHandle }}/@{{ totalHandle }}
computeHeight(e){ //设置分页弹出Box的高度
this.$nextTick(function(){
let h = $("#handle").height()
$("#handle").parent(".pos-box").css("top",'-'+h+'px')
})
},
hidePanel (event){ //点击元素外的区域隐藏分页Box
let sp2 = document.getElementById("handle");
if(sp2){
if(!sp.contains(event.target)){
this.showHandleTagPaging= false;
}
}
},
这边主要是hidePanel这个函数 在你的点击元素的父元素上加上这个函数,判断你点击的部分是不是这个点击元素
data里有一个变量控制显隐
showHandleTagPaging:false
computeHeight 这个函数是计算弹出部分的高,从而设置他position 的 top ,
这里因为是涉及到重新渲染视图,所以需要等渲染完成之后更改再获取高度(不然获取到的是更新视图之前的高度,更新之前那部分是隐藏的,高度永远为0),需要用到
this.$nextTick(function(){
})
这边着重记一下这次学到的小东西:
如果是要有条件的触发某点击事件,可以这样:
@click="skipHandle != 1 && (skipHandle--,getToChecked())"
&&符号前面是条件,后面是你要触发的函数 这里我要触发两个函数,所以用逗号隔开(ps:分号是没用的哦)