u-sticky吸顶和u-dropdown使用导致页面无法滚动问题及解决 页面无法滚动问题解决

简介: u-sticky吸顶和u-dropdown使用导致页面无法滚动问题及解决 页面无法滚动问题解决

uView组件u-sticky吸顶和u-dropdown使用导致页面无法滚动问题及解决 页面无法滚动问题解决

问题由于u-dropdown中代码遮罩层层级问题导致的

解决方案

在u-dropdown外包裹一层view,在触发吸顶函数使u-dropdown超出部分隐藏,触发u-dropdown的open函数在展开close函数关闭

以下是代码实现

html

<u-sticky @fixed="fixed()">
  <view :style="dropdownShow==false?'position: relative;overflow: hidden;':''" style="">
    <u-dropdown v-if="isDropShow" @open="dropOpen" @close="dropClose" ref="uDropdown" activeColor="orange"
      class="top">
      <u-dropdown-item activeColor="orange" class="menu-item" @change="select" v-model="value1" title="全部"
      </u-dropdown-item>
      <u-dropdown-item class="menu-item" @change="goEnroll" v-model="value2" title="排序"
      <u-dropdown-item class="menu-item" @change="goEnroll" v-model="value2" title="筛选" :options="options6">
      </u-dropdown-item>
    </u-dropdown>
  </view>
</u-sticky>

javascript

<u-sticky @fixed="fixed()">
  <view :style="dropdownShow==false?'position: relative;overflow: hidden;':''" style="">
    <u-dropdown v-if="isDropShow" @open="dropOpen" @close="dropClose" ref="uDropdown" activeColor="orange"
      class="top">
      <u-dropdown-item activeColor="orange" class="menu-item" @change="select" v-model="value1" title="全部"
      </u-dropdown-item>
      <u-dropdown-item class="menu-item" @change="goEnroll" v-model="value2" title="排序"
      <u-dropdown-item class="menu-item" @change="goEnroll" v-model="value2" title="筛选" :options="options6">
      </u-dropdown-item>
    </u-dropdown>
  </view>
</u-sticky>
<script>
  export default {
    data() {
      return {
        dropdownShow:false,
        isDropShow:true
      }
    },
    components:{wSelect},
    methods: {
      fixed() {
        this.isDropShow = false
        this.$nextTick(() => {
          this.isDropShow = true
        })
      },
      dropOpen() {
        this.dropdownShow = false
        this.$nextTick(() => {
          this.dropdownShow = true
        })
      },
      dropClose() {
        this.dropdownShow = false
        this.$nextTick(() => {
          this.dropdownShow = false
        })
      }
    }
  }
</script>


相关文章
element-plus:Dialog 对话框在有滚动条的页面会抖动
element-plus:Dialog 对话框在有滚动条的页面会抖动
507 0
element-plus:Dialog 对话框在有滚动条的页面会抖动
u-view使用轮播组件u-swiper不能正常显示
Swiper 轮播图 | uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架
1084 0
u-view使用轮播组件u-swiper不能正常显示
|
5月前
Element UI【详解】el-scrollbar 滚动条组件 —— 监听滚动条的滚动,跟随页面一起滚动,获取滚动距离,隐藏水平滚动条等
Element UI【详解】el-scrollbar 滚动条组件 —— 监听滚动条的滚动,跟随页面一起滚动,获取滚动距离,隐藏水平滚动条等
1249 0
|
7月前
|
JavaScript 前端开发 容器
随着页面的滚动导航条跟着滚动
随着页面的滚动导航条跟着滚动
|
7月前
element-plus:el-Dialog对话框组件垂直居中、禁止屏幕滚动、使用内滚动
element-plus:el-Dialog对话框组件垂直居中、禁止屏幕滚动、使用内滚动
|
7月前
|
JavaScript
【经典】原生JS实现“用鼠标拖拽(drag)内容DIV”,滚动条对应同步滚动
【经典】原生JS实现“用鼠标拖拽(drag)内容DIV”,滚动条对应同步滚动
|
JavaScript
js监听页面或元素scroll事件,滚动到底部或顶部
js监听页面或元素scroll事件,滚动到底部或顶部
1283 0
js监听页面或元素scroll事件,滚动到底部或顶部
|
Web App开发 JavaScript Android开发
jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
webtouch(webapp)页面,防苹果手机safari浏览器,往上滑动,底部导航消失,滑动到底部又出现。向下滑动,底部导航出现。
413 0