ArcPopup

Popup弧形滚动弹出层组件。

该组件支持wx.lin用法。

基础使用

本组件可设置 show 属性展示或隐藏组件。

代码演示

  1. <l-arc-popup show="{{true}}">基础案例</l-arc-popup>

基本使用方法

最大/小高度设置

本组件默认最大高度 600 ,单位为 rpx ,可自行更改 max-height 属性重置最大高度。
本组件默认最小高度 200 ,单位为 rpx ,可自行更改 min-height 属性重置最小高度。

注意事项

如插槽内容高度超过设置的最大高度,则插槽内容可滚动。

代码演示

  1. <l-arc-popup show="{{true}}" max-height="600" min-height="200">
  2. <view style="height: 800rpx;">
  3. 超出高度可滚动
  4. </view>
  5. </l-arc-popup>

最大/小高度设置

组件顶部弧度

本组件顶部默认弧度为 18 ,单位为 rpx ,可自行设置 arc-radius 属性进行更改。
本组件当 directiontop 时,属性值为 12 ,为 bottom 时,属性值为 18

代码演示

  1. <l-arc-popup show="{{true}}" arc-radius="50">
  2. 设置组件弧度
  3. </l--arc-popup>

组件顶部弧度

遮罩层区域透明度设置

本组件默认透明度为 0.4 ,最大值为 1 ,可自行设置 opacity 属性进行更改。

代码演示

  1. <l-arc-popup show="{{true}}" opacity="0.8">
  2. 设置遮罩区域透明度
  3. </l--arc-popup>

遮罩层区域透明度设置

从上/下弹出

本组件默认从下至上弹出,通过设置 direction 属性的值来控制从不同的方向进入屏幕,可选值为 topbottom

代码演示

  1. <l-arc-popup show="{{true}}" direction="top">
  2. 从上方弹出
  3. </l--arc-popup>

从上弹出

显示顶部内容(高级用法)

通过插槽 header 可以像顶部区域插入内容,设置 header-fixed 属性可设置此部分内容是否有吸顶功能。

代码演示

  1. <l-arc-popup show="{{true}}" header-fixed="{{true}}" l-header-class="l-header-class" arc-radius="0">
  2. <view slot="header" class="header-content">
  3. <text>一出好戏 (2018)</text>
  4. <l-icon name="down" size="30" color="#ccc" bindtap="onHidePopupTap"></l-icon>
  5. </view>
  6. <view class="popup-header-demo">
  7. <l-rate score="3.6" disabled />
  8. <text class="popup-header-desc">类型: 剧情 / 喜剧</text>
  9. <text class="popup-header-desc">上映日期: 2018-08-10(中国大陆)</text>
  10. <text class="popup-header-desc">片长: 134分钟</text>
  11. <text class="popup-header-desc">语言: 汉语普通话</text>
  12. <scroll-view class="popup-scroll-view" scroll-x>
  13. <view class="popup-scroll-list">
  14. <view class="popup-avatar-item" wx:for="{{avartarList}}" wx:for-item="item" wx:key="index">
  15. <image src="{{item.imageUrl}}" class="popup-avatar-image" mode="aspectFill"></image>
  16. <text class="popup-avatar-name">{{item.name}}</text>
  17. </view>
  18. </view>
  19. </scroll-view>
  20. <view class="popup-header-line"></view>
  21. <view class="popup-header-title">简介</view>
  22. <view class="popup-header-contet-desc">马进欠下债务,与远房表弟小兴在底层社会摸爬滚打,习惯性的买彩票,企图一夜暴富,并迎娶自己的同事姗姗。一日,公司全体员工出海团建,途中,马进收到了彩票中头奖的信息,六千万!就在马进狂喜自己翻身的日子终于到来之际,一场突如其来的滔天巨浪打破了一切。苏醒过来的众人发现身处荒岛 ,丧失了一切与外界的联系……</view>
  23. </view>
  24. </l--arc-popup>
  1. .header-content {
  2. width: 100%;
  3. display: flex;
  4. align-items: center;
  5. height: 80rpx;
  6. justify-content: space-between;
  7. }
  8. .popup-header-demo {
  9. display: flex;
  10. flex-direction: column;
  11. }
  12. .popup-header-desc {
  13. line-height: 50rpx;
  14. font-size: 25rpx;
  15. color: #bbb;
  16. }
  17. .popup-scroll-view {
  18. white-space: nowrap;
  19. margin-top: 30rpx;
  20. width: 100%;
  21. height: 180rpx;
  22. }
  23. .popup-scroll-list {
  24. display: flex;
  25. width: 100%;
  26. height: 100%;
  27. }
  28. .popup-avatar-item {
  29. display: flex;
  30. flex-direction: column;
  31. align-items: center;
  32. justify-content: space-between;
  33. margin-right: 30rpx;
  34. width: 150rpx;
  35. height: 100%;
  36. color: #333;
  37. }
  38. .popup-avatar-image {
  39. width: 130rpx;
  40. height: 130rpx;
  41. border-radius: 50%;
  42. }
  43. .popup-header-line {
  44. margin-top: 50rpx;
  45. width: 100%;
  46. height: 2rpx;
  47. background-color: #eee;
  48. }
  49. .popup-header-title {
  50. margin-top: 30rpx;
  51. font-size: 35rpx;
  52. }
  53. .popup-header-contet-desc {
  54. margin-top: 30rpx;
  55. color: #333;
  56. }

tSUMh4.png

案例演示

代码演示

  1. <l-arc-popup show="{{true}}">
  2. <view class="popup-demo">
  3. <view class="popup-demo-top">
  4. <image src="/images/view/default-image.jpg" class="popup-demo-top-image"></image>
  5. <text style="margin-left:20rpx;font-weight: 550;">LinUI</text>
  6. <text style="margin-left:20rpx;font-weight: 550;">申请</text>
  7. </view>
  8. <view class="popup-demo-desc">获取你的昵称、头像、地区及性别</view>
  9. <view class="popup-demo-info">
  10. <view class="popup-demo-info-avatar">
  11. <open-data type="userAvatarUrl"></open-data>
  12. </view>
  13. <view class="popup-demo-info-detail">
  14. <view class="popup-demo-info-name">
  15. <open-data type="userNickName"></open-data>
  16. </view>
  17. <view class="popup-demo-info-desc">微信个人信息</view>
  18. </view>
  19. </view>
  20. <view class="popup-demo-button">
  21. <l-button style='margin-right:50rpx' bg-color="#ccc">取消</l-button>
  22. <l-button type="success" style='margin-right:50rpx'>允许</l-button>
  23. </view>
  24. </view>
  25. </l-arc-popup>
  1. .popup-demo {
  2. display: flex;
  3. flex-direction: column;
  4. }
  5. .popup-demo-top {
  6. display: flex;
  7. align-items: center;
  8. }
  9. .popup-demo-top-image {
  10. width: 50rpx;
  11. height: 50rpx;
  12. border-radius: 50%;
  13. }
  14. .popup-demo-desc {
  15. font-size: 33rpx;
  16. font-weight: 500;
  17. margin-top: 30rpx;
  18. }
  19. .popup-demo-info {
  20. display: flex;
  21. padding: 15rpx 0;
  22. margin-top: 30rpx;
  23. border-top: 2rpx solid #eee;
  24. border-bottom: 2rpx solid #eee;
  25. }
  26. .popup-demo-info-avatar {
  27. width: 100rpx;
  28. height: 100rpx;
  29. border-radius: 10rpx;
  30. overflow: hidden;
  31. }
  32. .popup-demo-info-detail {
  33. display: flex;
  34. flex-direction: column;
  35. justify-content: space-between;
  36. margin-left: 30rpx;
  37. width: 200rpx;
  38. height: 100rpx;
  39. }
  40. .popup-demo-info-name {
  41. font-size: 33rpx;
  42. }
  43. .popup-demo-info-desc {
  44. color: #555;
  45. }
  46. .popup-demo-button {
  47. width: 100%;
  48. display: flex;
  49. justify-content: center;
  50. margin-top: 80rpx;
  51. }

显示顶部内容

组件属性(ArcPopup Attributes)

参数说明类型可选值默认值
show设置组件展示隐藏Boolean-false
max-height设置组件最大高度,单位为 rpxNumber-600
min-height设置组件最小高度,单位为 rpxNumber-200
arc-radius组件弧度,单位为 rpxNumber-18
z-index设置组件的页面层级Number-777
locked弹出层是否设定为锁定态Boolean-false
transition控制弹出层有无动画Boolean-true
opacity设置组件遮罩层区域透明度Number0-10.4
direction控制弹出层内容区域的位置Stringtop/bottombottom
header-fixed控制 header 内容区域是否吸顶Boolean-true

注意事项

arc-radiusdirectiontop 时,属性值为 12 ,为 bottom 时,属性值为 18
z-index locked transition 属性继承与 Popup 组件内属性,与 Popup 属性功能相同。

组件外部样式类(ArcPopup ExternalClasses)

外部样式类名说明备注
l-panel-class覆盖内容面板区域的自定义外部样式类—-
l-bg-class覆盖背景区域的自定义外部样式类—-
l-header-class覆盖 header 插槽区域的自定义外部样式类—-

注意事项

l-classl-bg-class 样式类继承于 Popup ,与 Popup 样式类功能相同。

组件事件(ArcPopup Events)

事件名称说明返回值备注
bind:linshow组件展示后触发( show 属性为 true 时)--
bind:linclose组件关闭后触发( show 属性为 false 时)--

插槽 (ArcPopup Slots)

插槽名说明备注
header自定义header