wxc-popup

MinUI 小程序组件 - 弹出层

Install

  1. $ min install @minui/wxc-popup

Demos

居下,有动画

居下的 Popup 可用于弹出框、选择器等

弹出层 popup - 图1

  1. <template>
  2. <button bindtap="showPopup">居下,有动画</button>
  3. <wxc-popup class="J_Popup" animation-mode="bottom" align="bottom">
  4. <view class="popup__content">Hello World</view>
  5. </wxc-popup>
  6. </template>
  7. <script>
  8. export default {
  9. config: {
  10. usingComponents: {
  11. 'wxc-popup': '@minui/wxc-popup'
  12. }
  13. },
  14. data: {},
  15. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  16. methods: {
  17. showPopup() {
  18. let popupComponent = this.selectComponent('.J_Popup');
  19. popupComponent && popupComponent.show();
  20. },
  21. hidePopup() {
  22. let popupComponent = this.selectComponent('.J_Popup');
  23. popupComponent && popupComponent.hide();
  24. }
  25. }
  26. }
  27. </script>
  28. <style>
  29. .popup__content {
  30. width: 100%;
  31. height: 500rpx;
  32. line-height: 500rpx;
  33. background: #ffffff;
  34. text-align: center;
  35. }
  36. </style>

居中,有动画

居中的 Popup 可用于Dialog、确认提醒等

弹出层 popup - 图2

  1. <template>
  2. <button bindtap="showPopup">居中,有动画</button>
  3. <wxc-popup class="J_Popup" animation-mode="center" align="center">
  4. <view class="popup__content">Hello World</view>
  5. </wxc-popup>
  6. </template>
  7. <script>
  8. export default {
  9. config: {
  10. usingComponents: {
  11. 'wxc-popup': '@minui/wxc-popup'
  12. }
  13. },
  14. data: {},
  15. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  16. methods: {
  17. showPopup() {
  18. let popupComponent = this.selectComponent('.J_Popup');
  19. popupComponent && popupComponent.show();
  20. },
  21. hidePopup() {
  22. let popupComponent = this.selectComponent('.J_Popup');
  23. popupComponent && popupComponent.hide();
  24. }
  25. }
  26. }
  27. </script>
  28. <style>
  29. .popup__content {
  30. width: 300rpx;
  31. height: 300rpx;
  32. line-height: 300rpx;
  33. background: #FFFFFF;
  34. border-radius: 12rpx;
  35. text-align: center;
  36. }
  37. </style>

默认居中,无动画

默认的 Popup 样式,内容居中,无动画

弹出层 popup - 图3

  1. <template>
  2. <button bindtap="showPopup">默认居中,无动画</button>
  3. <wxc-popup class="J_Popup">
  4. <view class="popup__content">Hello World</view>
  5. </wxc-popup>
  6. </template>
  7. <script>
  8. export default {
  9. config: {
  10. usingComponents: {
  11. 'wxc-popup': '@minui/wxc-popup'
  12. }
  13. },
  14. data: {},
  15. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  16. methods: {
  17. showPopup() {
  18. let popupComponent = this.selectComponent('.J_Popup');
  19. /*popupComponent && popupComponent.show();*/
  20. popupComponent && popupComponent.toggle(true);
  21. },
  22. hidePopup() {
  23. let popupComponent = this.selectComponent('.J_Popup');
  24. //popupComponent && popupComponent.hide();
  25. popupComponent && popupComponent.toggle();
  26. }
  27. }
  28. }
  29. </script>
  30. <style>
  31. .popup__content {
  32. width: 300rpx;
  33. height: 300rpx;
  34. line-height: 300rpx;
  35. background: #FFFFFF;
  36. border-radius: 12rpx;
  37. text-align: center;
  38. }
  39. </style>

居左,有动画

居左的 Popup 可用于左侧的侧边栏、左侧的弹出提醒等

弹出层 popup - 图4

  1. <template>
  2. <button bindtap="showPopup">居左,有动画</button>
  3. <wxc-popup class="J_Popup" animation-mode="left" align="left">
  4. <view class="popup__content">Hello World</view>
  5. </wxc-popup>
  6. </template>
  7. <script>
  8. export default {
  9. config: {
  10. usingComponents: {
  11. 'wxc-popup': '@minui/wxc-popup'
  12. }
  13. },
  14. data: {},
  15. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  16. methods: {
  17. showPopup() {
  18. let popupComponent = this.selectComponent('.J_Popup');
  19. popupComponent && popupComponent.show();
  20. },
  21. hidePopup() {
  22. let popupComponent = this.selectComponent('.J_Popup');
  23. popupComponent && popupComponent.hide();
  24. }
  25. }
  26. }
  27. </script>
  28. <style>
  29. .popup__content {
  30. width: 300rpx;
  31. height: 100%;
  32. line-height: 400rpx;
  33. background: #ffffff;
  34. text-align: center;
  35. }
  36. </style>

居右,有动画

居右的 Popup 可用于右侧的侧边栏、右侧的弹出提醒等

弹出层 popup - 图5

  1. <template>
  2. <button bindtap="showPopup">居右,有动画</button>
  3. <wxc-popup class="J_Popup" animation-mode="right" align="right">
  4. <view class="popup__content">Hello World</view>
  5. </wxc-popup>
  6. </template>
  7. <script>
  8. export default {
  9. config: {
  10. usingComponents: {
  11. 'wxc-popup': '@minui/wxc-popup'
  12. }
  13. },
  14. data: {},
  15. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  16. methods: {
  17. showPopup() {
  18. let popupComponent = this.selectComponent('.J_Popup');
  19. popupComponent && popupComponent.show();
  20. },
  21. hidePopup() {
  22. let popupComponent = this.selectComponent('.J_Popup');
  23. popupComponent && popupComponent.hide();
  24. }
  25. }
  26. }
  27. </script>
  28. <style>
  29. .popup__content {
  30. width: 300rpx;
  31. height: 100%;
  32. line-height: 400rpx;
  33. background: #ffffff;
  34. text-align: center;
  35. }
  36. </style>

居上,有动画

居上的 Popup 可用于顶部提醒、顶部菜单等功能

弹出层 popup - 图6

  1. <template>
  2. <button bindtap="showPopup">居上,有动画</button>
  3. <wxc-popup class="J_Popup" animation-mode="top" align="top">
  4. <view class="popup__content">Hello World</view>
  5. </wxc-popup>
  6. </template>
  7. <script>
  8. export default {
  9. config: {
  10. usingComponents: {
  11. 'wxc-popup': '@minui/wxc-popup'
  12. }
  13. },
  14. data: {},
  15. /** note: 在 wxp 文件或者页面文件中请去掉 methods 包装 */
  16. methods: {
  17. showPopup() {
  18. let popupComponent = this.selectComponent('.J_Popup');
  19. popupComponent && popupComponent.show();
  20. },
  21. hidePopup() {
  22. let popupComponent = this.selectComponent('.J_Popup');
  23. popupComponent && popupComponent.hide();
  24. }
  25. }
  26. }
  27. </script>
  28. <style>
  29. .popup__content {
  30. width: 100%;
  31. height: 200rpx;
  32. line-height: 200rpx;
  33. text-align: center;
  34. background: #FFFFFF;
  35. }
  36. </style>

API

Popup【props】

名称描述
animation-mode【说明】动画样式【类型】String【默认值】""【可选值】none, center, top, bottom, left, right
align【说明】占位位置【类型】String【默认值】""【可选值】center, top, bottom, left, right
status【说明】默认状态【类型】String【默认值】""[可选值】hide, show
locked【说明】遮罩层是否设置锁定态。【类型】String【默认值】"hide" [可选值]:"true",点击遮罩层背景部分不会关闭遮罩(点击子节点部分关闭遮罩)。"hide",点击遮罩层背景部分关闭遮罩(点击子节点部分不会关闭遮罩)。

Popup【methods】

名称描述
show【说明】显示 popup 【params】void【return】void
hide【说明】隐藏 popup 【params】void【return】void
toggle【说明】切换 popup 的可见状态。【params】switch: Boolean。可选。【return】void
地址
popup 组件文档 https://meili.github.io/min/docs/minui/index.html#popup
popup 组件源码 https://github.com/meili/minui/tree/master/packages/wxc-popup
MinUI 组件库 https://github.com/meili/minui

Preview

popup

ChangeLog

v1.0.7(2018.03.29)

  • 补充文档,增加 locked 属性的说明

v1.0.6(2018.01.09)

  • z-index 层级规范方案修改

v1.0.3(2018.01.04)

  • 增加toggle方法,规范z-index层级

v1.0.2(2017.11.02)

  • update .npmignore

v1.0.1(2017.10.24)

  • 初始版本