Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qianlong66
uni-app
提交
7619430d
U
uni-app
项目概览
qianlong66
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7619430d
编写于
6月 28, 2022
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(button,navigator,view): hover-class 不支持 pc 端鼠标事件问题
上级
e4a2f485
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
16 deletion
+43
-16
packages/uni-components/src/helpers/useHover.ts
packages/uni-components/src/helpers/useHover.ts
+30
-3
packages/uni-components/src/vue/navigator/index.tsx
packages/uni-components/src/vue/navigator/index.tsx
+13
-13
未找到文件。
packages/uni-components/src/helpers/useHover.ts
浏览文件 @
7619430d
...
...
@@ -40,7 +40,20 @@ export function useHover(props: UseHoverOptions) {
},
parseInt
(
props
.
hoverStayTime
as
string
))
})
}
function
onTouchstartPassive
(
evt
:
TouchEvent
)
{
if
(
evt
.
touches
.
length
>
1
)
{
return
}
handleHover
(
evt
)
}
function
onMousedown
(
evt
:
MouseEvent
)
{
handleHover
(
evt
)
window
.
addEventListener
(
'
mouseup
'
,
handlePCHoverEnd
)
}
function
handleHover
(
evt
:
TouchEvent
|
MouseEvent
)
{
// TODO detect scrolling
if
((
evt
as
any
).
_hoverPropagationStopped
)
{
return
...
...
@@ -48,9 +61,6 @@ export function useHover(props: UseHoverOptions) {
if
(
!
props
.
hoverClass
||
props
.
hoverClass
===
'
none
'
||
props
.
disabled
)
{
return
}
if
(
evt
.
touches
.
length
>
1
)
{
return
}
if
(
props
.
hoverStopPropagation
)
{
;(
evt
as
any
).
_hoverPropagationStopped
=
true
}
...
...
@@ -63,12 +73,27 @@ export function useHover(props: UseHoverOptions) {
}
},
parseInt
(
props
.
hoverStartTime
as
string
))
}
function
onTouchend
()
{
handleHoverEnd
()
}
function
onMouseup
()
{
handlePCHoverEnd
()
}
function
handleHoverEnd
()
{
hoverTouch
=
false
if
(
hovering
.
value
)
{
hoverReset
()
}
}
function
handlePCHoverEnd
()
{
handleHoverEnd
()
window
.
removeEventListener
(
'
mouseup
'
,
handlePCHoverEnd
)
}
function
onTouchcancel
()
{
hoverTouch
=
false
hovering
.
value
=
false
...
...
@@ -78,7 +103,9 @@ export function useHover(props: UseHoverOptions) {
hovering
,
binding
:
{
onTouchstartPassive
,
onMousedown
,
onTouchend
,
onMouseup
,
onTouchcancel
,
},
}
...
...
packages/uni-components/src/vue/navigator/index.tsx
浏览文件 @
7619430d
...
...
@@ -25,20 +25,20 @@ export default /*#__PURE__*/ defineBuiltInComponent({
return
()
=>
{
const
{
hoverClass
,
url
}
=
props
const
hasHoverClass
=
props
.
hoverClass
&&
props
.
hoverClass
!==
'
none
'
return
(
<
a
class
=
"navigator-wrap"
href
=
{
url
}
onClick
=
{
onEventPrevent
}
>
<
uni
-
navigator
class
=
{
hasHoverClass
&&
hovering
.
value
?
hoverClass
:
''
}
{
...(
hasHoverClass
&&
binding
)
}
{
...(
vm
?
vm
.
attrs
:
{})
}
{
...{
[
__scopeId
]:
''
,
}
}
onClick
=
{
onClick
}
>
{
slots
.
default
&&
slots
.
default
()
}
</
uni
-
navigator
>
</
a
>
<
uni
-
navigator
class
=
{
hasHoverClass
&&
hovering
.
value
?
hoverClass
:
''
}
{
...(
hasHoverClass
&&
binding
)
}
{
...(
vm
?
vm
.
attrs
:
{})
}
{
...{
[
__scopeId
]:
''
,
}
}
onClick
=
{
onClick
}
>
<
a
class
=
"navigator-wrap"
href
=
{
url
}
onClick
=
{
onEventPrevent
}
></
a
>
{
slots
.
default
&&
slots
.
default
()
}
</
uni
-
navigator
>
)
}
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录