使用PhotoViewPicker.select()拉起相册及已选择图片再次进入未默认选中的问题
@ohos.file.photoAccessHelper (相册管理模块)-ArkTS API-Media Library Kit(媒体文件管理服务)-媒体 - 华为HarmonyOS开发者
如何解决PhotoViewPicker已选择图片再次进入未默认选中的问题-媒体-开发-常见问题手册 - 华为HarmonyOS开发者
如何解决PhotoViewPicker已选择图片再次进入未默认选中的问题 #鸿蒙场景化案例#-华为开发者问答 | 华为开发者联盟
使用photoAccessHelper.PhotoViewPicker的select方法拉起相册
在select方法的参数中传入preselectedUrisuri数组,代表已选中文件的uri
export function selectPhoto(maxSelectNumber?: number,
preselectedUris?: string[]): Promise<photoAccessHelper.PhotoSelectResult> {
const photoSelectOptions = new photoAccessHelper.PhotoSelectOptions()
photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型为IMAGE
photoSelectOptions.maxSelectNumber = maxSelectNumber ?? 1; // 选择媒体文件的最大数目
if (preselectedUris) {
photoSelectOptions.preselectedUris = preselectedUris
}
const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
return photoViewPicker.select(photoSelectOptions)
}
// 选择图片
async selectImages() {
try {
let preselectedUris: string[] = this.imageSelectedList.map(item => item.src) ?? []
const photoSelectResult: photoAccessHelper.PhotoSelectResult =
await selectPhoto(PHOTO_SELECT_MAX_NUMBER, preselectedUris)
if (photoSelectResult) {
this.imageSelectedList = photoSelectResult.photoUris?.map(uri => new ImageItem(uri)) ?? []
}
} catch (error) {
logger.error(`选择图片失败, error:${JSON.stringify(error)}`)
}
}