HarmonyOS 鸿蒙Next怎么接收中转站拖拽过来的图片啊?

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next怎么接收中转站拖拽过来的图片啊?

cke_266.png

cke_6510.png

我从中转站拖拽过来的图片onDrop跟onDragEnter都获取不到任何参数。。。


更多关于HarmonyOS 鸿蒙Next怎么接收中转站拖拽过来的图片啊?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
您好,在应用使用的原生组件中绑定ondrop事件,然后拖拽的目标释放到这个组件上,就可以获取到对应的目标数据信息

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-events-drag-drop-V5#ondrop

具体数据获取类型请参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-unifieddatachannel-V5#unifiedrecord

下面简略demo是图片从中转站拖拽到组件中,获取到img url

```javascript
import { unifiedDataChannel, uniformTypeDescriptor } from '[@kit](/user/kit).ArkData';
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
  [@State](/user/State) abstractContent: string = "Text";
  [@State](/user/State) textContent: string = "";
  build() {
    Row() {
      Column() {
        Column() {
          Text(this.abstractContent).fontSize(20).width('100%')
          Text(this.textContent).fontSize(15).width('100%')
        }
        .width('100%')
        .height(100)
        .margin(20)
        .border({ color: Color.Black, width: 1 })
        .allowDrop([uniformTypeDescriptor.UniformDataType.PLAIN_TEXT,uniformTypeDescriptor.UniformDataType.IMAGE])
        .onDrop((dragEvent: DragEvent) => {
            let records: Array<unifiedDataChannel.UnifiedRecord> = dragEvent.getData().getRecords();
            let img: unifiedDataChannel.Image = records[0] as unifiedDataChannel.Image;
            console.log(img.imageUri)
        })
      }.width('45%')
      .height('100%')
      .margin({ left: '5%' })
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next怎么接收中转站拖拽过来的图片啊?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


要接收的组件好像要设置allowdrag的接收数据类型

在HarmonyOS(鸿蒙)系统中,接收中转站拖拽过来的图片通常涉及使用鸿蒙系统提供的中转站API和数据传输机制。以下是一个简要的实现步骤概述:

  1. 确保应用支持中转站功能:首先,你的应用需要声明支持中转站功能,并在相应的权限和配置文件中进行设置。

  2. 监听中转站事件:应用需要监听中转站的数据变化事件,特别是与图片相关的拖拽事件。这通常通过鸿蒙系统的事件监听机制来实现。

  3. 接收并处理图片数据:当监听到拖拽事件且数据为图片时,应用需要接收这些数据。鸿蒙系统提供了API来从中转站获取数据,你可以使用这些API来提取图片并进行后续处理。

  4. 展示图片:接收到的图片可以在应用的界面上进行展示,这通常涉及到使用鸿蒙的UI组件和布局管理。

请注意,具体的实现细节可能因应用的具体需求和鸿蒙系统的版本而有所不同。如果你在实现过程中遇到具体问题,建议查阅鸿蒙系统的官方文档或开发者指南以获取更详细的信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部