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

2020-09-18 11:21 更新

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

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

扫码体验

示例代码

{


  "defaultTitle": "Popover",


  "usingComponents": {


    "popover": "mini-ali-ui/es/popover/index",


    "popover-item": "mini-ali-ui/es/popover/popover-item/index"


  }


}
<view class="demo-popover">


  <popover


    position="{{position}}"


    show="{{show}}"


    showMask="{{showMask}}"


    onMaskClick="onMaskClick"


  >


    <view class="demo-popover-btn" onTap="onShowPopoverTap">点击{{show ? '隐藏' : '显示'}}</view>


    <view slot="items">


      <popover-item onItemClick="itemTap1" iconType="{{showIcon ? 'qr' : ''}}" data-direction="{{position}}">


        <text>{{position}}</text>


      </popover-item>


      <popover-item onItemClick="itemTap2" iconType="{{showIcon ? 'qr' : ''}}" data-index="{{2}}">


        <text>line2</text>


      </popover-item>


    </view>


  </popover>


</view>


<view class="demo-popover-test-btns">


  <button class="demo-popover-test-btn" onTap="onNextPositionTap">下个位置</button>


  <button class="demo-popover-test-btn" onTap="onMaskChangeTap">蒙层{{showMask ? '隐藏' : '显示'}}</button>


  <button class="demo-popover-test-btn" onTap="onIconChangeTap">显示/隐藏图标</button>


</view>
const position = ['top', 'topRight', 'rightTop', 'right', 'rightBottom', 'bottomRight', 'bottom', 'bottomLeft', 'leftBottom', 'left', 'leftTop', 'topLeft'];


Page({


  data: {


    position: position[0],


    show: false,


    showMask: true,


    showIcon: true,


  },


  onShowPopoverTap() {


    this.setData({


      show: !this.data.show,


    });


  },


  onNextPositionTap() {


    let index = position.indexOf(this.data.position);


    index = index >= position.length - 1 ? 0 : index + 1;


    this.setData({


      show: true,


      position: position[index],


    });


  },


  onMaskChangeTap() {


    this.setData({


      showMask: !this.data.showMask,


    });


  },


  onIconChangeTap() {


    this.setData({


      showIcon: !this.data.showIcon,


    });


  },


  onMaskClick() {


    this.setData({


      show: false,


    });


  },


  itemTap1(e) {


    my.alert({


      content: `点击_${e.currentTarget.dataset.direction}`,


    });


  },


  itemTap2(e) {


    my.alert({


      content: `点击_${e.currentTarget.dataset.index}`,


    });


  },


});
.demo-popover {


  display: flex;


  align-items: center;


  justify-content: center;


  width: 100%;


  height: 400px;


}


.demo-popover-btn {


  width: 100px;


  height: 100px;


  line-height: 100px;


  text-align: center;


  background-color: #fff;


  border: 1px solid #dddddd;


  border-radius: 2px;


}


.demo-popover-test-btns {


  display: flex;


  justify-content: space-around;


}


.demo-popover-test-btn {


  width: 45%;


}

属性

属性 类型 默认值 描述 必填 最低版本
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

公众号
微信公众号

编程狮公众号