支付宝小程序浮层组件 气泡·Popover

2020-09-18 11:21 更新

气泡。可通过设置 Popover-item 宽高改变气泡大小,不支持文字自适应宽高。

说明:设置 popover 位于特定元素的正下方,可以把该元素放在 popover 内并且设置 position 为 bottom 。

扫码体验

示例代码

  1. {
  2. "defaultTitle": "Popover",
  3. "usingComponents": {
  4. "popover": "mini-ali-ui/es/popover/index",
  5. "popover-item": "mini-ali-ui/es/popover/popover-item/index"
  6. }
  7. }
  1. <view class="demo-popover">
  2. <popover
  3. position="{{position}}"
  4. show="{{show}}"
  5. showMask="{{showMask}}"
  6. onMaskClick="onMaskClick"
  7. >
  8. <view class="demo-popover-btn" onTap="onShowPopoverTap">点击{{show ? '隐藏' : '显示'}}</view>
  9. <view slot="items">
  10. <popover-item onItemClick="itemTap1" iconType="{{showIcon ? 'qr' : ''}}" data-direction="{{position}}">
  11. <text>{{position}}</text>
  12. </popover-item>
  13. <popover-item onItemClick="itemTap2" iconType="{{showIcon ? 'qr' : ''}}" data-index="{{2}}">
  14. <text>line2</text>
  15. </popover-item>
  16. </view>
  17. </popover>
  18. </view>
  19. <view class="demo-popover-test-btns">
  20. <button class="demo-popover-test-btn" onTap="onNextPositionTap">下个位置</button>
  21. <button class="demo-popover-test-btn" onTap="onMaskChangeTap">蒙层{{showMask ? '隐藏' : '显示'}}</button>
  22. <button class="demo-popover-test-btn" onTap="onIconChangeTap">显示/隐藏图标</button>
  23. </view>
  1. const position = ['top', 'topRight', 'rightTop', 'right', 'rightBottom', 'bottomRight', 'bottom', 'bottomLeft', 'leftBottom', 'left', 'leftTop', 'topLeft'];
  2. Page({
  3. data: {
  4. position: position[0],
  5. show: false,
  6. showMask: true,
  7. showIcon: true,
  8. },
  9. onShowPopoverTap() {
  10. this.setData({
  11. show: !this.data.show,
  12. });
  13. },
  14. onNextPositionTap() {
  15. let index = position.indexOf(this.data.position);
  16. index = index >= position.length - 1 ? 0 : index + 1;
  17. this.setData({
  18. show: true,
  19. position: position[index],
  20. });
  21. },
  22. onMaskChangeTap() {
  23. this.setData({
  24. showMask: !this.data.showMask,
  25. });
  26. },
  27. onIconChangeTap() {
  28. this.setData({
  29. showIcon: !this.data.showIcon,
  30. });
  31. },
  32. onMaskClick() {
  33. this.setData({
  34. show: false,
  35. });
  36. },
  37. itemTap1(e) {
  38. my.alert({
  39. content: `点击_${e.currentTarget.dataset.direction}`,
  40. });
  41. },
  42. itemTap2(e) {
  43. my.alert({
  44. content: `点击_${e.currentTarget.dataset.index}`,
  45. });
  46. },
  47. });
  1. .demo-popover {
  2. display: flex;
  3. align-items: center;
  4. justify-content: center;
  5. width: 100%;
  6. height: 400px;
  7. }
  8. .demo-popover-btn {
  9. width: 100px;
  10. height: 100px;
  11. line-height: 100px;
  12. text-align: center;
  13. background-color: #fff;
  14. border: 1px solid #dddddd;
  15. border-radius: 2px;
  16. }
  17. .demo-popover-test-btns {
  18. display: flex;
  19. justify-content: space-around;
  20. }
  21. .demo-popover-test-btn {
  22. width: 45%;
  23. }

属性

属性 类型 默认值 描述 必填 最低版本
className String - 最外层覆盖样式。 -
show Boolean false 气泡是否展示。 -
showMask Boolean true 蒙层是否展示。 -
position String bottomRight 气泡位置。可选值:top、topRight、topLeft、bottom、bottomLeft、bottomRight、right、rightTop、rightBottom、left、leftBottom、leftTop。 -
fixMaskFull Boolean false 用以解决遮罩层受到 transform 影响而显示不全的问题。 - 1.0.11

popover-item

属性 类型 描述 最低版本
className String 单项样式。 -
onItemClick () => void 单项点击事件。 -
iconType String 所有的 type 值均来自 icon 组件。可选值参考 icon 组件。 -
iconURL String 图片的 URL 1.1.2
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号