Showing
1 changed file
with
19 additions
and
12 deletions
| @@ -33,8 +33,6 @@ export struct FeedBackActivity { | @@ -33,8 +33,6 @@ export struct FeedBackActivity { | ||
| 33 | //添加图片 | 33 | //添加图片 |
| 34 | addPic: PhotoListBean = {itemType:1} as PhotoListBean | 34 | addPic: PhotoListBean = {itemType:1} as PhotoListBean |
| 35 | @State pics: PhotoListBean[] = [this.addPic] as PhotoListBean[] | 35 | @State pics: PhotoListBean[] = [this.addPic] as PhotoListBean[] |
| 36 | - // 选择媒体文件的最大数目 | ||
| 37 | - selectNum = 3; | ||
| 38 | 36 | ||
| 39 | async aboutToAppear() { | 37 | async aboutToAppear() { |
| 40 | await this.getContentDetailData() | 38 | await this.getContentDetailData() |
| @@ -140,7 +138,6 @@ export struct FeedBackActivity { | @@ -140,7 +138,6 @@ export struct FeedBackActivity { | ||
| 140 | if(await FastClickUtil.isMinDelayTime()){ | 138 | if(await FastClickUtil.isMinDelayTime()){ |
| 141 | return | 139 | return |
| 142 | } | 140 | } |
| 143 | - | ||
| 144 | let temp: PhotoListBean[] = [] as PhotoListBean[] | 141 | let temp: PhotoListBean[] = [] as PhotoListBean[] |
| 145 | temp.length = this.pics.length - 1; | 142 | temp.length = this.pics.length - 1; |
| 146 | let tempIndex = 0; | 143 | let tempIndex = 0; |
| @@ -267,7 +264,8 @@ export struct FeedBackActivity { | @@ -267,7 +264,8 @@ export struct FeedBackActivity { | ||
| 267 | // 设置photoPicker的参数 | 264 | // 设置photoPicker的参数 |
| 268 | let PhotoSelectOptions = new picker.PhotoSelectOptions(); | 265 | let PhotoSelectOptions = new picker.PhotoSelectOptions(); |
| 269 | PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型 | 266 | PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; // 过滤选择媒体文件类型 |
| 270 | - PhotoSelectOptions.maxSelectNumber = this.selectNum; // 选择媒体文件的最大数目 | 267 | + let max = 3-this.pics.length+1 |
| 268 | + PhotoSelectOptions.maxSelectNumber = max; // 选择媒体文件的最大数目 | ||
| 271 | let mediaFlag = false; | 269 | let mediaFlag = false; |
| 272 | let photoPicker = new picker.PhotoViewPicker(); // 使用图库选择器对象前,需要先创建PhotoViewPicker实例 | 270 | let photoPicker = new picker.PhotoViewPicker(); // 使用图库选择器对象前,需要先创建PhotoViewPicker实例 |
| 273 | photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult) => { | 271 | photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult) => { |
| @@ -278,26 +276,35 @@ export struct FeedBackActivity { | @@ -278,26 +276,35 @@ export struct FeedBackActivity { | ||
| 278 | // 其中包含Array<string>类型的photoUris,为返回图库选择后的媒体文件的uri数组;还包含boolean类型的isOriginalPhoto,指示返回图库选择后的媒体文件是否为原图。 | 276 | // 其中包含Array<string>类型的photoUris,为返回图库选择后的媒体文件的uri数组;还包含boolean类型的isOriginalPhoto,指示返回图库选择后的媒体文件是否为原图。 |
| 279 | // 声明变量array,其取值为PhotoSelectResult中的数组。 | 277 | // 声明变量array,其取值为PhotoSelectResult中的数组。 |
| 280 | array = PhotoSelectResult['photoUris']; | 278 | array = PhotoSelectResult['photoUris']; |
| 281 | - let beforeLen = this.pics.length; | ||
| 282 | - let startIndex = this.pics.length-1; | 279 | + let beforeLen = this.pics.length + array.length; |
| 283 | let totalLen = this.pics.length+array.length; | 280 | let totalLen = this.pics.length+array.length; |
| 284 | if(totalLen > 3){ | 281 | if(totalLen > 3){ |
| 285 | totalLen = 3 | 282 | totalLen = 3 |
| 286 | } | 283 | } |
| 287 | - this.pics.length = totalLen; | ||
| 288 | - | 284 | + // this.pics.length = totalLen; |
| 285 | + let tempPics = [] as PhotoListBean[] | ||
| 286 | + tempPics.length = totalLen; | ||
| 287 | + let startIndex = 0; | ||
| 288 | + this.pics.forEach((value) => { | ||
| 289 | + if(value.itemType == 2){ | ||
| 290 | + value.id = startIndex | ||
| 291 | + tempPics[startIndex] = value; | ||
| 292 | + startIndex = startIndex+1; | ||
| 293 | + mediaFlag = true; | ||
| 294 | + } | ||
| 295 | + }) | ||
| 289 | array.forEach((value) => { | 296 | array.forEach((value) => { |
| 290 | let pic: PhotoListBean = {itemType:2,picPath:value} as PhotoListBean | 297 | let pic: PhotoListBean = {itemType:2,picPath:value} as PhotoListBean |
| 291 | pic.id = startIndex | 298 | pic.id = startIndex |
| 292 | - this.pics[startIndex] = pic | 299 | + tempPics[startIndex] = pic; |
| 293 | startIndex = startIndex+1; | 300 | startIndex = startIndex+1; |
| 294 | mediaFlag = true; | 301 | mediaFlag = true; |
| 295 | - Logger.info(TAG, `select image/video uri: ${value}`); | ||
| 296 | }) | 302 | }) |
| 297 | - if(this.pics.length<=3 && beforeLen != 3 && array.length != 3){ | 303 | + if(startIndex<3){ |
| 298 | this.addPic.id = startIndex | 304 | this.addPic.id = startIndex |
| 299 | - this.pics[this.pics.length-1]=this.addPic; | 305 | + tempPics[startIndex]=this.addPic; |
| 300 | } | 306 | } |
| 307 | + this.pics = tempPics; | ||
| 301 | } | 308 | } |
| 302 | if (mediaFlag) { | 309 | if (mediaFlag) { |
| 303 | this.getFilenameByUriForMedia(array); | 310 | this.getFilenameByUriForMedia(array); |
-
Please register or login to post a comment