wot-design-uni 嵌套弹窗时弹框会限定在父组件内

wot-design-uni 嵌套弹窗时弹框会限定在父组件内

问题出现步骤

在 SwipeAction 中使用 SelectPicker 代码如下(完整代码地址会贴在文章底部),效果

ts 复制代码
<template>
  <view class="px-3 py-20 text-center">
    <view @click.stop="closeOutside">
      <wd-swipe-action>
        <wd-select-picker v-model="value" label="基本用法" :columns="columns" @change="handleChange" />
        <template #right>
          <view class="action">
            <view class="button" style="background: #C8C7CD;" @click="handleAction('操作1')">
              操作1
            </view>
            <view class="button" style="background: #FFB300;" @click="handleAction('操作2')">
              操作2
            </view>
            <view class="button" style="background: #E2231A;" @click="handleAction('操作3')">
              操作3
            </view>
          </view>
        </template>
      </wd-swipe-action>
    </view>
  </view>
</template>

问题出现的原因

最开始猜测是 SwipeAction 包裹的问题,然后我使用了普通的 view 标签进行包裹发现是正常的效果,然后我去看了一下SelectPicker的实现代码,发现内部使用了ActionSheet,然后ActionSheet使用了Popup,接着我去官方githubissue搜索了一下相关的问题,找到了#900,其中提到了popup嵌套的问题

解决方案

按照issue中说的方法对代码进行了调整。查看

ts 复制代码
<template>
  <view class="px-3 text-center">
    <view class="my-20px">
      修改后代码
    </view>
    <view @click.stop="closeOutside">
      <wd-swipe-action>
        <wd-cell title="基本用法" value="内容" clickable @click="handleSelect" />
        <template #right>
          <view class="action">
            <view class="button" style="background: #C8C7CD;" @click="handleAction('操作1')">
              操作1
            </view>
            <view class="button" style="background: #FFB300;" @click="handleAction('操作2')">
              操作2
            </view>
            <view class="button" style="background: #E2231A;" @click="handleAction('操作3')">
              操作3
            </view>
          </view>
        </template>
      </wd-swipe-action>

      <wd-select-picker ref="select" v-model="value" label="基本用法" :columns="columns" use-default-slot @change="handleChange" />
    </view>
  </view>
</template>

完整版代码地址wot-design-ui-demo

效果1

效果2

效果3

相关推荐
linux_cfan10 分钟前
videojs v10 源代码系列解读:10 · `DestroyMixin`:双重 rAF 延迟销毁
前端·javascript·音视频
计算机魔术师12 分钟前
英伟达是人工智能领域的"中央银行"
前端
我的div丢了肿么办13 分钟前
顶部区域固定,左侧区域滚动,右侧区域滚动,彼此独立
前端·css
雪芽蓝域zzs18 分钟前
第四十六节:顶部【驾驶舱】独立大屏页面实现
前端·javascript·vue.js
IMPYLH27 分钟前
HTML 的 <select> 元素
前端·html
爱丶不疚31 分钟前
Electron:Module 与 Service 的职责边界与加载时序编排
前端·electron·nestjs
三十而立洋36 分钟前
深入浅出 Nginx:从核心原理到实战指南
前端·前端工程化
giszhc39 分钟前
腾讯地图瓦片接入方案:一个 Bun 代理,让 Mapbox / Leaflet / OpenLayers 通用
前端·后端
摸鱼仙人~39 分钟前
Vue 应用完整启动链路
前端·vue.js·软件工程
前端·柱子41 分钟前
Chaikin‘s Corner Cutting 算法 应用canvas绘制平滑的曲线
前端·html