Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
205ba0df
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
205ba0df
编写于
8月 02, 2023
作者:
Z
zhengqiyi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cherrypick dragdrop docs change
Signed-off-by:
N
zhengqiyi
<
zhengqiyi2@huawei.com
>
上级
f4dbb3b5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
9 deletion
+22
-9
zh-cn/application-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
...n-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
+22
-9
未找到文件。
zh-cn/application-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
浏览文件 @
205ba0df
...
@@ -7,12 +7,13 @@
...
@@ -7,12 +7,13 @@
> 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
>
> 已实现默认拖拽效果组件:[Image](../arkui-ts/ts-basic-components-image.md)、[Text](../arkui-ts/ts-basic-components-text.md)、[TextArea](../arkui-ts/ts-basic-components-textarea.md)、[Search](../arkui-ts/ts-basic-components-search.md)。
> 已实现默认拖拽效果组件:[Image](../arkui-ts/ts-basic-components-image.md)、[Text](../arkui-ts/ts-basic-components-text.md)、[TextArea](../arkui-ts/ts-basic-components-textarea.md)、[Search](../arkui-ts/ts-basic-components-search.md)。
>
> 应用中的预置资源文件不支持拖拽(即应用在安装前的HAP包中已经存在的资源文件)。
## 事件
## 事件
| 名称 | 支持冒泡 | 功能描述 |
| 名称 | 支持冒泡 | 功能描述 |
| ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| onDragStart(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
[
CustomBuilder
](
ts-types.md#custombuilder8
)
\|
[
DragItemInfo
](
#dragiteminfo说明
)
) | 否 | 第一次拖拽此事件绑定的组件时,触发回调。
<br/>
- event:拖拽事件信息,详见
[
DragEvent
](
#dragevent说明
)
。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
返回值:拖拽过程中显示的组件信息。
<br/>
触发条件:长按时间 >= 500ms。
<br>
事件优先级:长
安
触发时间
<
500
ms
,
长按事件
>
拖拽事件
<br>
其他: 拖拽事件 > 长按事件。 |
| onDragStart(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
[
CustomBuilder
](
ts-types.md#custombuilder8
)
\|
[
DragItemInfo
](
#dragiteminfo说明
)
) | 否 | 第一次拖拽此事件绑定的组件时,触发回调。
<br/>
- event:拖拽事件信息,详见
[
DragEvent
](
#dragevent说明
)
。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
返回值:拖拽过程中显示的组件信息。
<br/>
触发条件:长按时间 >= 500ms。
<br>
事件优先级:长
按
触发时间
<
500
ms
,
长按事件
>
拖拽事件
<br>
其他: 拖拽事件 > 长按事件。 |
| onDragEnter(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
void) | 否 | 拖拽进入组件范围内时,触发回调。
<br/>
- event:拖拽事件信息,包括拖拽点坐标。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
当监听了onDrop事件时,此事件才有效。 |
| onDragEnter(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
void) | 否 | 拖拽进入组件范围内时,触发回调。
<br/>
- event:拖拽事件信息,包括拖拽点坐标。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
当监听了onDrop事件时,此事件才有效。 |
| onDragMove(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
void) | 否 | 拖拽在组件范围内移动时,触发回调。
<br/>
- event:拖拽事件信息,包括拖拽点坐标。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
当监听了onDrop事件时,此事件才有效。 |
| onDragMove(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
void) | 否 | 拖拽在组件范围内移动时,触发回调。
<br/>
- event:拖拽事件信息,包括拖拽点坐标。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
当监听了onDrop事件时,此事件才有效。 |
| onDragLeave(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
void) | 否 | 拖拽离开组件范围内时,触发回调。
<br/>
- event:拖拽事件信息,包括拖拽点坐标。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
当监听了onDrop事件时,此事件才有效。 |
| onDragLeave(event:
(event?:
[DragEvent](#dragevent说明),
extraParams?:
string)
=
>
void) | 否 | 拖拽离开组件范围内时,触发回调。
<br/>
- event:拖拽事件信息,包括拖拽点坐标。
<br/>
- extraParams:拖拽事件额外信息,详见
[
extraParams
](
#extraparams说明
)
说明。
<br/>
当监听了onDrop事件时,此事件才有效。 |
...
@@ -87,10 +88,22 @@ struct Index {
...
@@ -87,10 +88,22 @@ struct Index {
getDataFromUdmfRetry
(
event
:
DragEvent
,
callback
:
(
data
:
DragEvent
)
=>
void
)
getDataFromUdmfRetry
(
event
:
DragEvent
,
callback
:
(
data
:
DragEvent
)
=>
void
)
{
{
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
let
data
=
event
.
getData
();
if
(
records
.
length
!==
0
)
{
if
(
!
data
)
{
callback
(
event
);
return
false
;
return
;
}
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
data
.
getRecords
();
if
(
!
records
||
records
.
length
<=
0
)
{
return
false
;
}
callback
(
event
);
return
true
;
}
getDataFromUdmf
(
event
:
DragEvent
,
callback
:
(
data
:
DragEvent
)
=>
void
)
{
if
(
this
.
getDataFromUdmfRetry
(
event
,
callback
))
{
return
;
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
getDataFromUdmfRetry
(
event
,
callback
);
this
.
getDataFromUdmfRetry
(
event
,
callback
);
...
@@ -174,7 +187,7 @@ struct Index {
...
@@ -174,7 +187,7 @@ struct Index {
.
border
({
color
:
Color
.
Black
,
width
:
1
})
.
border
({
color
:
Color
.
Black
,
width
:
1
})
.
allowDrop
([
udmf
.
UnifiedDataType
.
IMAGE
])
.
allowDrop
([
udmf
.
UnifiedDataType
.
IMAGE
])
.
onDrop
((
dragEvent
:
DragEvent
)
=>
{
.
onDrop
((
dragEvent
:
DragEvent
)
=>
{
this
.
getDataFromUdmf
Retry
(
dragEvent
,
(
event
)
=>
{
this
.
getDataFromUdmf
(
dragEvent
,
(
event
)
=>
{
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
let
rect
:
Rectangle
=
event
.
getPreviewRect
();
let
rect
:
Rectangle
=
event
.
getPreviewRect
();
this
.
imageWidth
=
Number
(
rect
.
width
);
this
.
imageWidth
=
Number
(
rect
.
width
);
...
@@ -197,7 +210,7 @@ struct Index {
...
@@ -197,7 +210,7 @@ struct Index {
.
margin
(
15
)
.
margin
(
15
)
.
allowDrop
([
udmf
.
UnifiedDataType
.
TEXT
])
.
allowDrop
([
udmf
.
UnifiedDataType
.
TEXT
])
.
onDrop
((
dragEvent
:
DragEvent
)
=>
{
.
onDrop
((
dragEvent
:
DragEvent
)
=>
{
this
.
getDataFromUdmf
Retry
(
dragEvent
,
event
=>
{
this
.
getDataFromUdmf
(
dragEvent
,
event
=>
{
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
this
.
targetText
=
(
<
udmf
.
Text
>
(
records
[
0
])).
details
[
'
value
'
];
this
.
targetText
=
(
<
udmf
.
Text
>
(
records
[
0
])).
details
[
'
value
'
];
})
})
...
@@ -215,7 +228,7 @@ struct Index {
...
@@ -215,7 +228,7 @@ struct Index {
}.
width
(
'
100%
'
).
height
(
100
).
margin
(
20
).
border
({
color
:
Color
.
Black
,
width
:
1
})
}.
width
(
'
100%
'
).
height
(
100
).
margin
(
20
).
border
({
color
:
Color
.
Black
,
width
:
1
})
.
allowDrop
([
udmf
.
UnifiedDataType
.
PLAIN_TEXT
])
.
allowDrop
([
udmf
.
UnifiedDataType
.
PLAIN_TEXT
])
.
onDrop
((
dragEvent
)
=>
{
.
onDrop
((
dragEvent
)
=>
{
this
.
getDataFromUdmf
Retry
(
dragEvent
,
event
=>
{
this
.
getDataFromUdmf
(
dragEvent
,
event
=>
{
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
let
records
:
Array
<
udmf
.
UnifiedRecord
>
=
event
.
getData
().
getRecords
();
let
plainText
:
udmf
.
PlainText
=
<
udmf
.
PlainText
>
(
records
[
0
]);
let
plainText
:
udmf
.
PlainText
=
<
udmf
.
PlainText
>
(
records
[
0
]);
this
.
abstractContent
=
plainText
.
abstract
;
this
.
abstractContent
=
plainText
.
abstract
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录