uniapp中使用<cover-view>标签

文章背景:

  • uniapp中遇到了原生组件(canvas)优先级过高覆盖vant组件

解决办法:

  • 使用<cover-view>标签

踩坑:

  • 我想实现的是一个vant组件库中动作面板的效果,能够从底部弹出框,让用户进行选择,我直接用了<cover-view>标签包裹<van-action-sheet>也是不能展示的
  • 在微信开发者工具测试的样式没有因为被优先级覆盖的问题,只有真机上会出现这个问题
  • 微信开发者工具适配的苹果手机,安卓机的情况下,不能用margin,只能用padding调整样式

部分代码:

javascript 复制代码
 <cover-view v-if="isModalVisible" class="bottom-modal">
    <cover-view class="modal-mask" @click="handleCancel"></cover-view>
    <cover-view class="modal-content">
      <cover-view class="button-group">
        <cover-view @click="handleSave">保存到相册</cover-view>
        <cover-view @click="handleCancel">取消
        </cover-view>
      </cover-view>
    </cover-view>
  </cover-view>
javascript 复制代码
.bottom-modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5); /* 背景遮罩 */
  z-index: 9999; /* 确保弹窗处于最上层 */
  /* border-radius: 20px; */
}

.modal-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3); /* 半透明的背景 */
  z-index: 9998; /* 背景遮罩层级 */
}

.modal-content {
  position: absolute;
  bottom: -15px;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 10000; /* 确保内容在弹窗上面 */
  border-radius: 20px;
}

.button-group {
  padding: 15px 10px 30px 20px;
}

.btn {
  flex: 1;
  height: 44px;
  line-height: 44px;
  text-align: center;
  border-radius: 8px;
  font-size: 16px;
}
相关推荐
Csvn26 分钟前
性能监控
前端
Csvn1 小时前
构建工具
前端
FRing031 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
码间留白3 小时前
uni-app 跑上鸿蒙,发现蓝牙全瞎:我把 BLE 补齐的实战(一)基建篇
物联网·uniapp·harmonyos next·蓝牙 ble·鸿蒙os开发
kyriewen4 小时前
Skills 榜前 10 我全装了:只有 3 个能直接用
前端·javascript·程序员
IT_陈寒4 小时前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
yz_aiks4 小时前
WorkBuddy 怎么做网页小游戏:深海钓鱼游戏 43 次对话、301 积分从一句话做到发布(附手机横屏踩坑)
人工智能·html5·ai编程·小游戏·workbuddy
工控丫丫4 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
jerrywus5 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
孟陬6 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端