Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
be333b23
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6005
Star
91
Fork
164
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
be333b23
编写于
6月 14, 2024
作者:
taohebin@dcloud.io
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test: overflow-visible-event 增加拖拽测试例
上级
5e7a6ac6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
64 addition
and
9 deletion
+64
-9
pages/CSS/overflow/overflow-visible-event.test.js
pages/CSS/overflow/overflow-visible-event.test.js
+19
-0
pages/CSS/overflow/overflow-visible-event.uvue
pages/CSS/overflow/overflow-visible-event.uvue
+45
-9
未找到文件。
pages/CSS/overflow/overflow-visible-event.test.js
浏览文件 @
be333b23
...
@@ -30,4 +30,23 @@ describe('/pages/CSS/overflow/overflow-visible-event.uvue', () => {
...
@@ -30,4 +30,23 @@ describe('/pages/CSS/overflow/overflow-visible-event.uvue', () => {
res
=
await
page
.
data
(
'
jest_result
'
);
res
=
await
page
.
data
(
'
jest_result
'
);
expect
(
res
).
toBe
(
true
)
expect
(
res
).
toBe
(
true
)
});
});
// 此测试针对开发者使用 translate 移动view
it
(
'
Check Overflow Visible Part Use translate Drag
'
,
async
()
=>
{
await
page
.
callMethod
(
'
jest_getRect
'
)
const
point_x
=
await
page
.
data
(
'
jest_click_x
'
);
const
point_y
=
await
page
.
data
(
'
jest_click_y
'
);
const
distance
=
100
;
const
destY
=
point_y
+
100
const
duration
=
1000
await
program
.
adbCommand
(
"
input swipe
"
+
"
"
+
point_x
+
"
"
+
point_y
+
"
"
+
point_x
+
"
"
+
destY
+
"
"
+
duration
)
await
page
.
waitFor
(
1500
);
await
page
.
callMethod
(
'
jest_getParentRect
'
)
const
currentParentTop
=
await
page
.
data
(
'
jest_parent_top
'
);
const
offset
=
2
const
diff
=
Math
.
abs
(
currentParentTop
-
distance
)
<
offset
console
.
log
(
"
current
"
,
currentParentTop
);
console
.
log
(
"
diff
"
,
diff
);
expect
(
diff
).
toBe
(
true
)
})
});
});
pages/CSS/overflow/overflow-visible-event.uvue
浏览文件 @
be333b23
...
@@ -2,9 +2,10 @@
...
@@ -2,9 +2,10 @@
<view>
<view>
<text style="font-size: 15px;">overflow=visible 父view(绿色),子view(红色),点击超出父view区域的部分也可触发事件。</text>
<text style="font-size: 15px;">overflow=visible 父view(绿色),子view(红色),点击超出父view区域的部分也可触发事件。</text>
<view class="backgroundview">
<view class="backgroundview">
<view class="box-visible-border-radius">
<view id="parent" class="box-visible-border-radius">
<view id="child" style="width: 50px; height: 150px; background-color: red;"
<view id="child" style="width: 50px; height: 150px; background-color: red;" @click="handleClickOverflowPart"
@click="handleClickOverflowPart" @touchmove="handleTouchMoveOverflowPart">
@touchmove="handleTouchMoveOverflowPart" @touchstart="handleTouchStartOverflowPart"
@touchend="handleTouchEndOverflowPart">
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -17,25 +18,60 @@
...
@@ -17,25 +18,60 @@
return {
return {
jest_result: false,
jest_result: false,
jest_click_x: -1,
jest_click_x: -1,
jest_click_y: -1
jest_click_y: -1,
jest_parent_top: -1.0,
startX: 0,
startY: 0,
moveX: 0,
moveY: 0,
oldX: 0,
oldY: 0,
moveEl: null as UniElement | null
}
}
},
},
onReady() {
this.moveEl = uni.getElementById('parent')
},
methods: {
methods: {
handleClickOverflowPart() {
handleClickOverflowPart() {
console.log("click");
console.log("click");
this.jest_result = true;
this.jest_result = true;
uni.showToast({"title":"点击红色区域"})
uni.showToast({ "title": "点击红色区域" })
},
handleTouchStartOverflowPart(e : UniTouchEvent) {
this.startX = e.changedTouches[0].clientX
this.startY = e.changedTouches[0].clientY
},
},
handleTouchMoveOverflowPart(e
:
UniTouchEvent) {
handleTouchMoveOverflowPart(e
:
UniTouchEvent) {
console.log("touchmove:" + e.touches[0].clientX + "," + e.touches[0].clientY);
console.log("touchmove:" + e.touches[0].clientX + "," + e.touches[0].clientY);
e.preventDefault()
e.stopPropagation()
const difX = e.changedTouches[0].clientX
const difY = e.changedTouches[0].clientY
this.moveX = difX - this.startX + this.oldX
this.moveY = difY - this.startY + this.oldY
this.moveEl?.style?.setProperty('transform', `translate(${this.moveX}px,${this.moveY}px)`)
},
handleTouchEndOverflowPart(_ : UniTouchEvent) {
this.oldX = this.moveX
this.oldY = this.moveY
},
},
jest_getRect() {
jest_getRect() {
const rect = uni.getElementById('child')?.getBoundingClientRect()
const rect = uni.getElementById('child')?.getBoundingClientRect()
if (rect != null) {
if (rect != null) {
const ratio = uni.getSystemInfoSync().devicePixelRatio
const ratio = uni.getSystemInfoSync().devicePixelRatio
this.jest_click_x = rect.x * ratio + 10
this.jest_click_x = rect.x * ratio + 10
this.jest_click_y = rect.bottom * ratio - 10
this.jest_click_y = rect.bottom * ratio - 10
}
}
},
jest_getParentRect() {
const transform = uni.getElementById('parent')?.style.getPropertyValue("transform")
if (transform != null) {
let value = transform as string
value = value.split(",")[1].slice(0, -3)
const ratio = uni.getSystemInfoSync().devicePixelRatio
this.jest_parent_top = Math.round((parseFloat(value) * ratio))
}
}
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录