Tencent / tdesign-miniprogram

A Wechat MiniProgram UI components lib for TDesign.
https://tdesign.tencent.com/miniprogram
MIT License
1.22k stars 277 forks source link

小程序的那个 popup 点击遮罩层关闭不了,点击关闭按钮也没反应 #127

Closed tdesign-helper closed 2 years ago

tdesign-helper commented 2 years ago

小程序的那个popup 点击遮罩层关闭不了,点击关闭按钮也没反应,这是bug吗

vhxubo commented 2 years ago

用户需要监听 Popup 组件的 visible-change 事件, 然后修改 Popup 组件的 visible 属性的值

前置知识

Popup 是通过 visible 属性控制展示的, 值为 true 时展示, 为 false 时不展示

整个流程如下:

  1. 点击遮罩层/关闭按钮
  2. 组件内部触发自定义的 visible-change 事件, 并携带 {visible: false}
  3. 用户监听 visible-change 事件, 修改 visible 属性的值
  4. Popup 组件状态变化

在使用新生库时, 可以对比示例代码以及源代码, 毕竟文档没有代码更新的快

示例代码

https://github.com/Tencent/tdesign-miniprogram/blob/c26102db59e4fa4711453f885fbe483d19eb571f/example/pages/popup/popup.wxml#L8-L15

https://github.com/Tencent/tdesign-miniprogram/blob/c26102db59e4fa4711453f885fbe483d19eb571f/example/pages/popup/popup.ts#L48-L57

LeeJim commented 2 years ago

Popup 组件的 visible 是受控属性,需要手动设置成 false