Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
11f1f2f2
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看板
You need to sign in or sign up before continuing.
提交
11f1f2f2
编写于
7月 07, 2023
作者:
X
xionghao1002
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drag doc modify
Signed-off-by:
N
xionghao1002
<
xionghao43@huawei.com
>
上级
fa0dc6dd
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
158 addition
and
7 deletion
+158
-7
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
+1
-0
zh-cn/application-dev/reference/arkui-ts/figures/dragImage.gif
.../application-dev/reference/arkui-ts/figures/dragImage.gif
+0
-0
zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-drag-drop.md
...v/reference/arkui-ts/ts-universal-attributes-drag-drop.md
+157
-0
zh-cn/application-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
...n-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
+0
-7
未找到文件。
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
浏览文件 @
11f1f2f2
...
...
@@ -40,6 +40,7 @@
-
[
分布式迁移标识
](
ts-universal-attributes-restoreId.md
)
-
[
前景色设置
](
ts-universal-attributes-foreground-color.md
)
-
[
点击回弹
](
ts-universal-attributes-click-effect.md
)
-
[
拖拽控制
](
ts-universal-attributes-drag-drop.md
)
-
触摸交互控制
-
[
触摸热区设置
](
ts-universal-attributes-touch-target.md
)
-
[
触摸测试控制
](
ts-universal-attributes-hit-test-behavior.md
)
...
...
zh-cn/application-dev/reference/arkui-ts/figures/dragImage.gif
0 → 100644
浏览文件 @
11f1f2f2
121.7 KB
zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-drag-drop.md
0 → 100644
浏览文件 @
11f1f2f2
# 拖拽控制
设置组件是否可以响应拖拽事件。
> **说明:**
>
> 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>
> 支持拖拽控制的组件:
>
>[Text](ts-basic-components-text.md)、[Image](ts-basic-components-image.md)、[Video](ts-media-components-video.md)、[List](ts-container-list.md)、
[
Grid
](
ts-container-grid.md
)
。
## 属性
| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| allowDrop | Array
\<
UnifiedData> | 设置该组件上允许落入的数据类型。
<br/>
默认值:空
<br/>
|
| draggable | boolean | 设置该组件是否允许进行拖拽。
<br/>
默认值:false
<br/>
|
## 示例
```
ts
// xxx.ets
import
UDMF
from
'
@ohos.data.UDMF
'
;
@
Entry
@
Component
struct
ImageExample
{
@
State
uri
:
string
=
""
@
State
AblockArr
:
string
[]
=
[]
@
State
BblockArr
:
string
[]
=
[]
@
State
AVisible
:
Visibility
=
Visibility
.
Visible
@
State
dragSuccess
:
Boolean
=
false
@
Builder
pixelMapBuilder
()
{
Column
()
{
Column
()
.
width
(
100
)
.
height
(
100
)
.
borderRadius
(
10
)
.
backgroundColor
(
Color
.
Yellow
)
}
}
build
()
{
Column
()
{
Text
(
'
Image拖拽
'
)
.
fontSize
(
'
30dp
'
)
Flex
({
direction
:
FlexDirection
.
Row
,
alignItems
:
ItemAlign
.
Center
,
justifyContent
:
FlexAlign
.
SpaceAround
})
{
Image
(
$r
(
'
app.media.1
'
))
.
width
(
100
)
.
height
(
100
)
.
border
({
width
:
1
})
.
visibility
(
this
.
AVisible
)
.
draggable
(
true
)
.
onDragStart
((
event
:
DragEvent
,
extraParams
:
string
)
=>
{
let
image
=
new
UDMF
.
Image
();
let
unifiedData
=
new
UDMF
.
UnifiedData
(
image
);
event
.
setData
(
unifiedData
);
return
this
.
pixelMapBuilder
()
})
.
onDragEnd
((
event
:
DragEvent
)
=>
{
let
ret
=
event
.
getResult
();
if
(
ret
==
0
)
{
console
.
log
(
"
enter ret == 0
"
)
this
.
AVisible
=
Visibility
.
Hidden
;
}
else
{
console
.
log
(
"
enter ret != 0
"
)
this
.
AVisible
=
Visibility
.
Visible
;
}
})
}
.
margin
({
bottom
:
20
})
Row
()
{
Column
(){
Text
(
'
不允许释放区域(显示不允许角标但可以释放)
'
)
.
fontSize
(
'
15dp
'
)
.
height
(
'
10%
'
)
List
(){
ForEach
(
this
.
AblockArr
,
(
item
,
index
)
=>
{
ListItem
()
{
Image
(
item
)
.
width
(
100
)
.
height
(
100
)
.
border
({
width
:
1
})
}
.
margin
({
left
:
30
,
top
:
30
})
},
item
=>
item
)
}
.
height
(
'
90%
'
)
.
width
(
'
100%
'
)
.
allowDrop
([
"
File.Media.Text
"
,
"
File.Media.Image
"
])
.
onDrop
((
event
:
DragEvent
,
extraParams
:
string
)
=>
{
let
jsonString
=
JSON
.
parse
(
extraParams
);
this
.
uri
=
jsonString
.
extraInfo
;
this
.
AblockArr
.
splice
(
jsonString
.
insertIndex
,
0
,
this
.
uri
);
console
.
log
(
"
ondrop not udmf data
"
);
})
.
border
({
width
:
1
})
}
.
height
(
"
50%
"
)
.
width
(
"
45%
"
)
.
border
({
width
:
1
})
.
margin
({
left
:
12
})
Column
(){
Text
(
'
可释放区域
'
)
.
fontSize
(
'
15dp
'
)
.
height
(
'
10%
'
)
List
(){
ForEach
(
this
.
BblockArr
,
(
item
,
index
)
=>
{
ListItem
()
{
Image
(
item
)
.
width
(
100
)
.
height
(
100
)
.
border
({
width
:
1
})
}
.
margin
({
left
:
30
,
top
:
30
})
},
item
=>
item
)
}
.
border
({
width
:
1
})
.
height
(
'
90%
'
)
.
width
(
'
100%
'
)
.
allowDrop
([
"
File.Media.Image
"
])
.
onDrop
((
event
:
DragEvent
,
extraParams
:
string
)
=>
{
console
.
log
(
"
enter onDrop
"
)
let
dragData
=
event
.
getData
();
let
summary
=
event
.
getSummary
();
if
(
dragData
!=
undefined
)
{
let
arr
=
dragData
.
getRecords
();
if
(
arr
.
length
>
0
)
{
let
image
=
<
UDMF
.
Image
>
(
arr
[
0
]);
this
.
uri
=
image
.
imageUri
;
let
jsonString
=
JSON
.
parse
(
extraParams
);
this
.
BblockArr
.
splice
(
jsonString
.
insertIndex
,
0
,
this
.
uri
);
}
else
{
console
.
log
(
`dragData arr is null`
)
}
}
else
{
console
.
log
(
`dragData is undefined`
)
}
console
.
log
(
"
ondrop udmf data
"
);
this
.
dragSuccess
=
true
})
}
.
height
(
"
50%
"
)
.
width
(
"
45%
"
)
.
border
({
width
:
1
})
.
margin
({
left
:
12
})
}
}.
width
(
'
100%
'
)
}
}
```
![
dragImage.gif
](
figures/dragImage.gif
)
zh-cn/application-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
浏览文件 @
11f1f2f2
...
...
@@ -6,13 +6,6 @@
>
> 从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## 属性
拖拽事件相关组件除支持
[
通用属性
](
ts-universal-attributes-size.md
)
外,支持绑定以下属性:
| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| allowDrop
<sup>
10+
</sup>
| Array
\<
UnifiedData> | 设置该组件上允许落入的数据类型。
<br/>
默认值:空
<br/>
|
| draggable
<sup>
10+
</sup>
| boolean | 设置该组件是否允许进行拖拽。
<br/>
默认值:false
<br/>
|
## 事件
| 名称 | 支持冒泡 | 功能描述 |
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录