当前位置: 首页 > 知识库问答 >
问题:

vue3 - element-plus官网上对于before-close方法的解释是否正确?

齐昊苍
2024-06-22

element-plus官网上对于before-close方法的解释是否正确?

当done不设置参数或参数设置为true时,终止关闭?应该是继续关闭吧?
image.png

const handleClose = (done: () => void) => {  ElMessageBox.confirm('Are you sure you want to close this?')    .then(() => {      done()    })    .catch(() => {      // catch error    })}

共有2个答案

太叔望
2024-06-22

放到这里是有误的,不传参数应该是执行关闭。

对于element来说,这个说法是没问题的,可以看出element是参数为false才执行关闭
image.png
而element-plus是布尔值true终止关闭,布尔值false执行关闭
image.png

顾斌
2024-06-22

Element Plus 官网对于 before-close 方法的解释可能存在误导。

在 Element Plus 的 Drawer 组件中,before-close 方法是一个钩子函数,它允许你在抽屉关闭前执行一些自定义逻辑。如果 before-close 钩子函数返回 false,或者传入的 done 回调函数带有 false 参数被调用,那么抽屉将不会关闭。

在你提供的代码示例中:

const handleClose = (done: () => void) => {  ElMessageBox.confirm('Are you sure you want to close this?')    .then(() => {      done() // 调用 done 而不带参数,表示确认关闭    })    .catch(() => {      // catch error      done(false) // 如果用户取消了操作,通过传入 false 来终止关闭    });}

当用户确认关闭时,你调用 done() 不带任何参数,这实际上表示继续关闭抽屉。而如果用户取消了关闭操作,你调用 done(false),这会终止关闭抽屉。

因此,Element Plus 官网上的解释“当 done 不设置参数或参数设置为 true 时,终止关闭”是不准确的。实际上,不设置参数或设置参数为 trueundefined 时,应该继续关闭抽屉。只有当参数设置为 false 时,抽屉的关闭才会被终止。

正确的行为描述应该是:

  • done 被调用且不带参数或参数为 true 时,抽屉将继续关闭。
  • done 被调用且参数为 false 时,抽屉将终止关闭。

所以,你提到的官网上对于 before-close 方法的解释确实存在错误,并且你的理解是正确的。

 类似资料:
  • 使用 vite 打包组件库,在新的项目中使用时报错 下面是打包后的产物 pe 和 dn 找不到导致项目启动时就报错, 手动再新起一个别名时会结局此问题 vite.config.ts 配置如下 请问这个问题该怎么解决

  • 小白想要提问一个小白问题 使用vue3+element-plus做的项目是否只能使用ts呢? 麻烦各位大佬们回复一下吧,谢谢您们 想要使用js,但是怕显示不出来或者是不识别。所以想要问一下。

  • 如题,这个有趣效果是如何实现的? 截图如下。 1.隐藏前: 2.隐藏后:

  • 用了一个上传图片的组件 upload,定义类型时复制 element-plus 官网里的代码 提示 这要怎么搞? 和 element-plus 组件按需自动引入有关系吗? 感谢老猫的解答,改成node可以识别 type {UploadProps} 了。 改的时候发现之前在配置按需自动引入 element-plus 时,因为出现CSS丢失问题这里我已经改成 node ,还加了注释,后面样式出现了,又

  • 系统使用了element-plus按需载入的方式 我需要在一个组件内动态加载某些组件 这个loader方法一直无法正确渲染相应组件,例如type传入“ELInput”时系统会报个警告 尝试过import('element-plus/lib/components/ElInput')这种写法页不行,报错:[plugin:vite:import-analysis] No known conditions

  • 官方续作——Vue 3.0 组件库 Element Plus,由饿了么大前端团队开源出品的一套为开发者、设计师和产品经理准备的基于 Vue 3.0 的组件库,提供了配套设计资源,帮助你的网站快速成型。 Element Plus 使用 TypeScript + Composition API 进行了重构,主要有:  使用 TypeScript 开发,提供完整的类型定义文件 使用 Vue 3.0 Co

  • 问题内容: 在我使用的许多代码中,都有一些可怕的东西,例如: 或者-更糟糕的是: 有正确的方法来: 创建一个新的URL(或者它是一个URI)。 向其添加正确的转义参数。 在这些参数中添加格式正确的文件路径。 将其解析为字符串。 从本质上讲,仅构建字符串比正确地构建字符串太容易了。有没有一种方法可以像构建字符串一样容易 地正确 完成呢? 添加 为了清楚起见-经过一番思考-我想我正在寻找类似的东西:

  • 问题内容: 我经历了一个Java教程,该教程使我可以创建一个文本文件,并在其中写上“ 20 Bruce Wayne”字样。在主类中最后一个调用的方法名为closeFile(),它在创建文本文件后“关闭”该文本文件。 如果我没有真正打开文件,为什么需要“关闭”文件?“打开”是指记事本编辑器(不是我使用的IDE)弹出并带有“ 20 Bruce Wayne”字样。请以外行的方式回答我的问题。 Main.