HarmonyOS 调用photoViewPicker进入相册,点左上角X取消,怎么监听取消这个动作

用photoViewPicker进入相册,点左上角X取消,怎么监听取消这个动作

目前对此动作API没有发现监听函数 是否有能力?

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

无法直接监听,考虑以下间接替代方案:当不选择图片时,无法点击完成按钮,此时只能通过点击X来退出,PhotoSelectResult列表为空当有选择图片时,点击X来退出,PhotoSelectResult列表为空仅当点击完成时,PhotoSelectResult列表不为空故可通过判断PhotoSelectResult列表是否为空来监听取消动作可在如下Demo中观察到PhotoSelectResult列表的变化。

Demo:

import { photoAccessHelper } from '@kit.MediaLibraryKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct NavigationExample {
  build() {
    Column() {
      Button('click')
        .onClick(()=>{
          example01()
        })
    }
  }
}
async function example01() {
  try {
    let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
    PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
    PhotoSelectOptions.maxSelectNumber = 5;
    let photoPicker = new photoAccessHelper.PhotoViewPicker();
    photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
    }).catch((err: BusinessError) => {
      console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
    });
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
  }
}
分享
微博
QQ
微信
回复
3天前
相关问题
java蓝牙开发怎么取消配对
5024浏览 • 1回复 待解决
这个在哪里关闭取消,能不能关闭啊
6752浏览 • 1回复 待解决
HarmonyOS 怎么取消 Text的默认内边距
461浏览 • 1回复 待解决
HarmonyOS rcp取消网络请求
27浏览 • 1回复 待解决
HarmonyOS TextInput 取消默认焦点
537浏览 • 1回复 待解决
HarmonyOS TextInput无法取消焦点
330浏览 • 1回复 待解决
同意取消的弹窗怎么实现?用哪个方法
4774浏览 • 1回复 待解决
HarmonyOS Tabs如何取消弹簧效果
361浏览 • 1回复 待解决
HarmonyOS 如何取消TextInput自动聚焦
481浏览 • 1回复 待解决
TextInput如何取消默认聚焦效果
2435浏览 • 1回复 待解决
TextInput如何取消自动获得焦点
602浏览 • 1回复 待解决