Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8213c4aa
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看板
提交
8213c4aa
编写于
7月 09, 2023
作者:
D
dongzhanwu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update doc of ts-universal-events-drag-drop
Signed-off-by:
N
dongzhanwu
<
dongzhanwu1@huawei.com
>
上级
86c07bb1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
46 addition
and
8 deletion
+46
-8
zh-cn/application-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
...n-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
+46
-8
未找到文件。
zh-cn/application-dev/reference/arkui-ts/ts-universal-events-drag-drop.md
浏览文件 @
8213c4aa
...
...
@@ -81,6 +81,8 @@
### 示例1
```
ts
import
UDMF
from
'
@ohos.data.UDMF
'
;
@
Observed
class
ClassA
{
public
name
:
string
...
...
@@ -105,11 +107,27 @@ class ClassA {
struct
DragExample
{
@
State
arr
:
ClassA
[]
=
[
new
ClassA
(
'
A
'
,
true
),
new
ClassA
(
'
B
'
,
true
),
new
ClassA
(
'
C
'
,
true
)]
@
State
dragIndex
:
number
=
0
@
State
mTextNew
:
string
=
''
@
State
mBool
:
boolean
=
false
changeIndex
(
index1
:
number
,
index2
:
number
)
{
// 交换数组位置
[
this
.
arr
[
index1
],
this
.
arr
[
index2
]]
=
[
this
.
arr
[
index2
],
this
.
arr
[
index1
]];
}
public
getDataFromUDMFWithRetry
(
event
:
DragEvent
)
{
let
records
=
event
.
getData
().
getRecords
();
if
(
records
)
{
let
plainText
=
<
UDMF
.
PlainText
>
(
records
[
0
])
this
.
mTextNew
=
plainText
.
textContent
this
.
mBool
=
false
return
;
}
// 获取失败延时 1.5s 再次获取
setTimeout
(()
=>
{
this
.
getDataFromUDMFWithRetry
(
event
)
},
1500
)
}
build
()
{
Column
()
{
Row
({
space
:
15
})
{
...
...
@@ -130,8 +148,7 @@ struct DragExample {
}
.
listDirection
(
Axis
.
Horizontal
)
.
onDrop
((
event
:
DragEvent
,
extraParams
:
string
)
=>
{
// 绑定此事件的组件可作为拖拽释放目标,当在本组件范围内停止拖拽行为时,触发回调。
let
jsonString
=
JSON
.
parse
(
extraParams
);
this
.
changeIndex
(
this
.
dragIndex
,
jsonString
.
insertIndex
)
this
.
getDataFromUDMFWithRetry
(
event
);
})
}.
padding
({
top
:
10
,
bottom
:
10
}).
margin
(
10
)
...
...
@@ -187,6 +204,8 @@ struct Child {
```
ts
// xxx.ets
import
UDMF
from
'
@ohos.data.UDMF
'
;
@
Extend
(
Text
)
function
textStyle
()
{
.
width
(
'
25%
'
)
.
height
(
35
)
...
...
@@ -201,6 +220,8 @@ struct DragExample {
@
State
numbers
:
string
[]
=
[
'
one
'
,
'
two
'
,
'
three
'
,
'
four
'
,
'
five
'
,
'
six
'
]
@
State
text
:
string
=
''
@
State
bool
:
boolean
=
true
@
State
mBool
:
boolean
=
false
@
State
mTextNew
:
string
=
''
@
State
eventType
:
string
=
''
@
State
appleVisible
:
Visibility
=
Visibility
.
Visible
@
State
orangeVisible
:
Visibility
=
Visibility
.
Visible
...
...
@@ -222,6 +243,20 @@ struct DragExample {
}
}
public
getDataFromUDMFWithRetry
(
event
:
DragEvent
)
{
let
records
=
event
.
getData
().
getRecords
()
if
(
records
)
{
let
plainText
=
<
UDMF
.
PlainText
>
(
records
[
0
])
this
.
mTextNew
=
plainText
.
textContent
this
.
mBool
=
false
return
;
}
// 获取失败延时 1.5s 再次获取
setTimeout
(()
=>
{
this
.
getDataFromUDMFWithRetry
(
event
)
},
1500
)
}
build
()
{
Column
()
{
Text
(
'
There are three Text elements here
'
)
...
...
@@ -291,13 +326,16 @@ struct DragExample {
console
.
log
(
'
List onDragLeave,
'
+
extraParams
+
'
X:
'
+
event
.
getX
()
+
'
Y:
'
+
event
.
getY
())
})
.
onDrop
((
event
:
DragEvent
,
extraParams
:
string
)
=>
{
let
jsonString
=
JSON
.
parse
(
extraParams
);
if
(
this
.
bool
)
{
// 通过splice方法插入元素
this
.
numbers
.
splice
(
jsonString
.
insertIndex
,
0
,
this
.
text
)
this
.
bool
=
false
if
(
!
extraParams
.
empty
())
{
let
jsonString
=
JSON
.
parse
(
extraParams
);
if
(
this
.
bool
)
{
// 通过splice方法插入元素
this
.
numbers
.
splice
(
jsonString
.
insertIndex
,
0
,
this
.
text
)
this
.
bool
=
false
}
this
.
fruitVisible
[
this
.
idx
]
=
Visibility
.
None
}
this
.
fruitVisible
[
this
.
idx
]
=
Visibility
.
None
this
.
getDataFromUDMFWithRetry
(
event
);
})
}.
width
(
'
100%
'
).
height
(
'
100%
'
).
padding
({
top
:
20
}).
margin
({
top
:
20
})
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录