element-plus组件中的el-drawer的使用

在项目的制作过程中经常会用到弹窗组件,这里假设一种情况当你在一个页面需要多个弹窗组件的时候怎么样才能精准的打开和关闭对应的弹窗呐??

① 绑定一个点击事件----【给点击事件传入一个下标】这里是打开事件

② 使用element-plus中的 :before-close点击关闭事件,但是在这里需要传入一个done,所以我的传递方式是这样的

javascript 复制代码
<div>
          <!-- 点击图标显示抽屉组件 -->
          <div :key="1" @click="displayDrawer(1)" style="z-index:6666; position: absolute;left: 46%; top: 5%;">
            <svg-icon width="30px" height="30px" name="zuopinxiangqing"></svg-icon>
          </div>
          <!-- 抽屉组件1 -->
          <el-drawer :key="1" v-model="drawerList[0].display" title="作品详情1" :direction="direction"
             :before-close="(done:any) => handleClose(done, 2)"  :index="1" style="right: 50%;">
            <span>Hi there! This is drawer 1.</span>
          </el-drawer>
        </div>
<div>
            <!-- 点击图标显示抽屉组件 -->
            <div :key="2" @click="displayDrawer(2)"
              style="z-index:6666; width: 45px; display: flex; justify-content: flex-end; padding-right: 15px; ">
              <svg-icon width="30px" height="30px" name="zuopinxiangqing"></svg-icon>
            </div>
            <!-- 多个抽屉组件 -->
            <!-- 抽屉组件2 -->
            <el-drawer :key="2" v-model="drawerList[1].display" title="作品详情2" :direction="direction"
            :before-close="(done:any) => handleClose(done, 2)" :index="2">
              <span>Hi there! This is drawer 2.</span>
            </el-drawer>
          </div>

这里有两个弹窗和对应的两个点击事件

javascript 复制代码
<script>
const drawerList = ref([
  { index: 1, title: '作品详情1', display: false },
  { index: 2, title: '作品详情2', display: false }
]);
const displayDrawer = (index: any) => {
  drawerList.value[index - 1].display = true;
};

const handleClose = (done: any, index: any) => {
  drawerList.value[index - 1].display = false;
  done()
};
</script>

这里的

javascript 复制代码
:before-close="(done:any) => handleClose(done, 2)"

这里我不是很清楚done的状态和类型方法所以使用了上面的方式将数据进行了传递,最终效果。

这里实现了左右两个弹窗!!!

相关推荐
北海-cherish2 小时前
vue中的 watchEffect、watchAsyncEffect、watchPostEffect的区别
前端·javascript·vue.js
2501_915909063 小时前
HTML5 与 HTTPS,页面能力、必要性、常见问题与实战排查
前端·ios·小程序·https·uni-app·iphone·html5
white-persist4 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
新中地GIS开发老师5 小时前
Cesium 军事标绘入门:用 Cesium-Plot-JS 快速实现标绘功能
前端·javascript·arcgis·cesium·gis开发·地理信息科学
Superxpang5 小时前
前端性能优化
前端·javascript·vue.js·性能优化
左手吻左脸。5 小时前
解决el-select因为弹出层层级问题,不展示下拉选
javascript·vue.js·elementui
左手吻左脸。5 小时前
Element UI表格中根据数值动态设置字体颜色
vue.js·ui·elementui
李白的故乡5 小时前
el-tree-select名字
javascript·vue.js·ecmascript
Rysxt_5 小时前
Element Plus 入门教程:从零开始构建 Vue 3 界面
前端·javascript·vue.js
隐含5 小时前
对于el-table中自定义表头中添加el-popover会弹出两个的解决方案,分别针对固定列和非固定列来隐藏最后一个浮框。
前端·javascript·vue.js