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

相关推荐
三小河9 小时前
解决vite环境下调用获取二进制文件流 部分文件报错 (failed)net::ERR_INVALID_HTTP_RESPONSE)
前端
好好好明天会更好9 小时前
pinia从定义到运用
前端·vue.js
代码小学僧9 小时前
Vite 项目最简单方法解决部署后 Failed to fetch dynamically imported Error问题
前端·vue.js·vite
RoyLin9 小时前
TypeScript设计模式:装饰器模式
前端·后端·typescript
掘金一周9 小时前
Flutter Riverpod 3.0 发布,大规模重构下的全新状态管理框架 | 掘金一周 9.18
前端·人工智能·后端
一涯9 小时前
页面出现空白区域
前端
spmcor10 小时前
MinIO本地对象存储部署指南
前端
少年纪10 小时前
前端用 pdf.js 将 PDF 渲染到 Canvas 再转图片,文字消失的坑
前端
RoyLin10 小时前
TypeScript设计模式:复合模式
前端·后端·typescript
我是天龙_绍10 小时前
CSS/JS/图片全挂了,部署后页面白屏/资源加载失败?这两个配置项坑了多少人!
前端