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>


相关文章
|
移动开发 前端开发 JavaScript
uView Sticky 吸顶
uView Sticky 吸顶
297 0
|
JavaScript API 开发者
使用 u-navbar 组件实现页面导航和布局的完全指南
使用 u-navbar 组件实现页面导航和布局的完全指南
2088 0
|
搜索推荐
uview下拉菜单Dropdown整合个性化下拉
uview下拉菜单Dropdown整合个性化下拉
489 5
uniapp页面之间通信、传参、传值方法(父→传→子,子→传→父);获取被打开页面的数据→传→当前页面;当前页面的数据→传→被打开页面
uniapp页面之间通信、传参、传值方法(父→传→子,子→传→父);获取被打开页面的数据→传→当前页面;当前页面的数据→传→被打开页面
|
资源调度 JavaScript API
【Vue2 / Vue3】 一个贼nb,贼强大的自定义打印插件
【Vue2 / Vue3】 一个贼nb,贼强大的自定义打印插件
9824 120
|
UED
使echarts图例legend只选中一个(selectedMode)
本文介绍了如何在ECharts图表中设置图例(legend)的选中模式为单选('single'),以确保在有多个图例时,用户只能选择一个图例项进行展示,从而提升图表的可读性和用户体验。
1358 1
使echarts图例legend只选中一个(selectedMode)
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
705 1
下一篇
开通oss服务