zoukankan      html  css  js  c++  java
  • uniapp 拖动小图标问题分析经过

    uniapp 拖动小图标问题分析经过

    添加拖动前

    <div class="home">
      <div>元素</div>
      <div>元素</div>
    </div>
    <style>
    .home {
      display: flex;
      flex-direction: column;
      justify-content: center;
      background-color: #D8D8D8;
    }
    </style>
    

    添加拖动后

    <div class="home">
      <movable-area class="movable-area">
        <div>元素</div>
        <div>元素</div>
        <movable-view direction="all">拖我</movable-view>
      </movable-area>
    </div>
    

    现象

    • 导致原来的布局错乱

    排查

    • 是不是拖动组件本来就有 bug 而导致元素内样式错乱
      • 网上有不少例子, 没有说到有这个问题
    • 是不是本页面布局特殊导致使用组件后布局错乱
      • 经逐一排查是由于 .home 使用了 flex 样式造成的
      • .movable-area 会造成元素到 .home 的子级, 这就导致原来的 flex 样式没有应用到以前的元素上.

    解决方案

    • 使用其他拖动库, 难找并不知道能不能用, 不采取
    • 重写页面布局方式, 难以调整, 不采取
    • 思考组件的其他使用方式, 尝试

    考虑两个方向:

    • movable-area 只是为了声明一个拖动范围, 那么是不是我在其他结构中声明这个范围也行呢
    • 是由于 flex 布局+新元素产生而导致 html 结构变化导致的布局错乱问题

    调整后的结构, 其实就是让 movable-area 单独成为一个全屏的可拖动空间, 并使用 position: fixed 脱离原文档流而不影响原来的布局. 经过测试此方案可用.

    不过需要注意的是在 h5 中的 100vh 是包含 topBar 的, 而微信小程序不包括.

    <div class="home">
      <movable-area class="movable-area">
        <movable-view direction="all">拖我</movable-view>
      </movable-area>
      <div>元素</div>
      <div>元素</div>
    </div>
    <style>
    .movable-area {
      position: fixed;
      width: 100vw;
      height: 100vh;
      top: 0;
      left: 0;
      z-index: 9;
    }
    </style>
    
  • 相关阅读:
    10000台不稳定机器如果做爬虫
    python 豆瓣高分电影爬虫
    恶意爬虫让机票价格暴涨 每年或致航空公司损失十多亿元
    python 豆瓣高分电影爬虫
    Python 爬虫保存图片
    你的爬虫票价价格暴涨
    10分钟教你利用Python网络爬虫获取穷游攻略
    10分钟教你利用Python网络爬虫获取穷游攻略
    SAP Cloud for Customer 如何直接消费S/4HANA API
    如何分辨 SAP Fiori Launchpad 里的真假 Fiori 应用
  • 原文地址:https://www.cnblogs.com/daysme/p/15193665.html
Copyright © 2011-2022 走看看