# movable-area
movable-view的可移动区域。
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
scale-area | Boolean | false | 否 | 当里面的 movable-view 设置为支持双指缩放时,设置此值可将缩放手势生效区域修改为整个 movable-area |
# Bug & Tip
- movable-area 必须设置 width 和 height 属性,其默认值为 10px**
- 当 movable-view 小于 movable-area 时,movable-view 的移动范围是在 movable-area 内;
- 当 movable-view 大于 movable-area 时,movable-view 的移动范围必须包含 movable-area(x 轴方向和 y 轴方向分开考虑)
# 使用效果
# 示例代码
<view class="section">
<view class="section__title">movable-view区域小于movable-area</view>
<movable-area style="height: 200px; width: 200px; background: red;">
<movable-view style="height: 50px; width: 50px; background: blue;" x="{{x}}" y="{{y}}" direction="all">
</movable-view>
</movable-area>
<view class="btn-area">
<button size="mini" bindtap="tap">click me to move to (30px, 30px)</button>
</view>
<view class="section__title">movable-view区域大于movable-area</view>
<movable-area style="height: 100px; width: 100px; background: red;">
<movable-view style="height: 200px; width: 200px; background: blue;" direction="all"> </movable-view>
</movable-area>
<view class="section__title">可放缩</view>
<movable-area style="height: 200px; width: 200px; background: red;" scale-area>
<movable-view
style="height: 50px; width: 50px; background: blue;"
direction="all"
bindchange="onChange"
bindscale="onScale"
scale
scale-min="0.5"
scale-max="4"
scale-value="2"
>
</movable-view>
</movable-area>
</view>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Page({
data: {
x: 0,
y: 0
},
tap: function(e) {
this.setData({
x: 30,
y: 30
})
},
onChange: function(e) {
console.log(e.detail)
},
onScale: function(e) {
console.log(e.detail)
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
←
→
在线客服