tab3.page.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <ion-content class="custom-content" padding>
  2. <form (ngSubmit)="publishPost()">
  3. <div class="input-container">
  4. <ion-item lines="none">
  5. <div class="upload-container">
  6. <!-- 上传文件盒子 -->
  7. <div *ngIf="selectedFiles.length === 0" class="upload-box" (click)="fileInput.click()">
  8. <ion-icon name="add" class="upload-icon"></ion-icon>
  9. <input type="file" #fileInput (change)="onFilesSelected($event)" accept="image/*,video/*" multiple style="display: none;" />
  10. </div>
  11. <!-- 显示已上传的文件 -->
  12. <ion-item *ngIf="selectedFiles.length > 0" lines="none">
  13. <div *ngFor="let file of selectedFiles" style="position: relative; width: 100%; overflow: hidden; height: 100px; margin-bottom: 10px;">
  14. <ng-container *ngIf="file.isImage; else videoTemplate">
  15. <img [src]="file.src" style="width: auto; height: 100%; border-radius: 10px;" >
  16. </ng-container>
  17. <ng-template #videoTemplate>
  18. <video [src]="file.src" style="width: auto; height: 100%; border-radius: 10px;" controls></video>
  19. </ng-template>
  20. <ion-button (click)="removeFile(file)" fill="clear" style="position: absolute; top: 5px; right: 5px;">
  21. <ion-icon name="close"></ion-icon>
  22. </ion-button>
  23. </div>
  24. </ion-item>
  25. </div>
  26. </ion-item>
  27. </div>
  28. <div class="input-container">
  29. <input type="text" id="input-title" [(ngModel)]="postTitle" name="postTitle" required>
  30. <label for="input-title" class="label">标题</label>
  31. <div class="underline"></div>
  32. </div>
  33. <div class="input-container">
  34. <textarea id="input-content" [(ngModel)]="postContent" name="postContent" required></textarea>
  35. <label for="input-content" class="label">正文</label>
  36. <div class="underline"></div>
  37. </div>
  38. <ion-item class="custom-didian">
  39. <ion-icon name="location"></ion-icon>
  40. <ion-label>标记地点</ion-label>
  41. <ion-select interface="popover" [(ngModel)]="location" name="location" slot="end">
  42. <ion-select-option *ngFor="let city of cities" [value]="city">{{ city }}</ion-select-option>
  43. </ion-select>
  44. </ion-item>
  45. <!-- 公开可见开关 -->
  46. <div class="input-container">
  47. <ion-item class="custom-select">
  48. <ion-icon name="lock-open"></ion-icon>
  49. <ion-label>可见性</ion-label>
  50. <ion-select [(ngModel)]="visibility" name="visibility" slot="end">
  51. <ion-select-option value="none">全部可见</ion-select-option>
  52. <ion-select-option value="onlyTo">仅给谁看</ion-select-option>
  53. <ion-select-option value="mutualFriends">仅互关好友可见</ion-select-option>
  54. <ion-select-option value="onlyMe">仅自己可见</ion-select-option>
  55. </ion-select>
  56. </ion-item>
  57. </div>
  58. <!-- 高级选项 -->
  59. <ion-item class="custom-gaoji" lines="none">
  60. <ion-label>高级选项</ion-label>
  61. <ion-toggle [(ngModel)]="saveToAlbum" name="saveToAlbum" slot="end">保存到相册</ion-toggle><br /><br />
  62. </ion-item>
  63. </form>
  64. </ion-content>
  65. <ion-footer>
  66. <ion-button type="submit" expand="block" class="custom-button" (click)="publishPost()">
  67. 发布笔记
  68. </ion-button>
  69. </ion-footer>