page-edit.component.html 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <ion-header>
  2. <ion-toolbar>
  3. <ion-buttons slot="start">
  4. <ion-button color="medium" (click)="cancel()">取消</ion-button>
  5. </ion-buttons>
  6. <ion-title>编辑个人信息</ion-title>
  7. <ion-buttons slot="end">
  8. <ion-button (click)="confirm()" [strong]="true">确认</ion-button>
  9. </ion-buttons>
  10. </ion-toolbar>
  11. </ion-header>
  12. <ion-content class="ion-padding">
  13. <!-- 头像上传区域 -->
  14. <ion-item>
  15. <ion-label>头像 </ion-label>
  16. <ion-avatar slot="start">
  17. <!-- 显示头像,如果没有头像,显示默认头像 -->
  18. <img [src]="avatar || 'assets/boqi.jpg'" />
  19. </ion-avatar>
  20. <ion-button fill="outline" slot="end" (click)="uploadAvatar()">上传头像</ion-button>
  21. </ion-item>
  22. <!-- 用户名输入框 -->
  23. <ion-item>
  24. <ion-label>昵称 <span style="color: red;">*</span></ion-label>
  25. <ion-input
  26. labelPlacement="stacked"
  27. [(ngModel)]="name"
  28. placeholder="请输入姓名"
  29. required>
  30. </ion-input>
  31. </ion-item>
  32. <!-- 邮箱输入框 -->
  33. <ion-item>
  34. <ion-label>邮箱 <span style="color: red;">*</span></ion-label>
  35. <ion-input
  36. labelPlacement="stacked"
  37. [(ngModel)]="email"
  38. placeholder="请输入邮箱"
  39. type="email"
  40. required
  41. [pattern]="emailPattern">
  42. </ion-input>
  43. </ion-item>
  44. <!-- 电话输入框 -->
  45. <ion-item>
  46. <ion-label>电话 <span style="color: red;">*</span></ion-label>
  47. <ion-input
  48. labelPlacement="stacked"
  49. [(ngModel)]="phone"
  50. placeholder="请输入电话号码"
  51. type="tel"
  52. required
  53. [pattern]="phonePattern">
  54. </ion-input>
  55. </ion-item>
  56. <!-- 地址输入框 -->
  57. <ion-item>
  58. <ion-label>地址</ion-label>
  59. <ion-input
  60. labelPlacement="stacked"
  61. [(ngModel)]="address"
  62. placeholder="请输入地址">
  63. </ion-input>
  64. </ion-item>
  65. <!-- 年龄输入框 -->
  66. <ion-item>
  67. <ion-label>年龄 <span style="color: red;">*</span></ion-label>
  68. <ion-input
  69. labelPlacement="stacked"
  70. [(ngModel)]="age"
  71. placeholder="请输入年龄"
  72. type="number"
  73. required
  74. [min]="0"
  75. [max]="150">
  76. </ion-input>
  77. </ion-item>
  78. <!-- 性别选择框 -->
  79. <ion-item>
  80. <ion-label>性别 <span style="color: red;">*</span></ion-label>
  81. <ion-select
  82. [(ngModel)]="gender"
  83. interface="popover"
  84. required>
  85. <ion-select-option value="male">男</ion-select-option>
  86. <ion-select-option value="female">女</ion-select-option>
  87. <ion-select-option value="other">其他</ion-select-option>
  88. </ion-select>
  89. </ion-item>
  90. <!-- 身高输入框 -->
  91. <ion-item>
  92. <ion-label>身高(cm) <span style="color: red;">*</span></ion-label>
  93. <ion-input
  94. labelPlacement="stacked"
  95. [(ngModel)]="height"
  96. placeholder="请输入身高"
  97. type="number"
  98. required
  99. [min]="0"
  100. [pattern]="heightPattern">
  101. </ion-input>
  102. </ion-item>
  103. <!-- 体重输入框 -->
  104. <ion-item>
  105. <ion-label>体重(kg) <span style="color: red;">*</span></ion-label>
  106. <ion-input
  107. labelPlacement="stacked"
  108. [(ngModel)]="weight"
  109. placeholder="请输入体重"
  110. type="number"
  111. required
  112. [min]="0"
  113. [pattern]="weightPattern">
  114. </ion-input>
  115. </ion-item>
  116. <!-- 运动目标输入框 -->
  117. <ion-content>
  118. <ion-item>
  119. <ion-label>运动目标 <span style="color: red;">*</span></ion-label>
  120. <ion-input
  121. labelPlacement="stacked"
  122. [(ngModel)]="goal"
  123. placeholder="请输入运动目标">
  124. </ion-input>
  125. </ion-item>
  126. </ion-content>
  127. <!-- 作息时间输入框 -->
  128. <ion-item>
  129. <ion-label>作息时间 <span style="color: red;">*</span></ion-label>
  130. <ion-input
  131. labelPlacement="stacked"
  132. [(ngModel)]="time"
  133. placeholder="请输入作息时间">
  134. </ion-input>
  135. </ion-item>
  136. </ion-content>