edit-profile.page.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // src/app/edit-profile/edit-profile.page.ts
  2. import { Component, OnInit } from '@angular/core';
  3. import { FormBuilder, FormGroup, Validators } from '@angular/forms';
  4. import { NavController } from '@ionic/angular';
  5. import { UserService } from '../services/user.service';
  6. @Component({
  7. selector: 'app-edit-profile',
  8. templateUrl: './edit-profile.page.html',
  9. styleUrls: ['./edit-profile.page.scss'],
  10. })
  11. export class EditProfilePage implements OnInit {
  12. // 在声明时初始化 profileForm
  13. profileForm: FormGroup = new FormGroup({});
  14. constructor(private fb: FormBuilder, private navCtrl: NavController,private userService: UserService) {}
  15. ngOnInit() {
  16. this.profileForm = this.fb.group({
  17. username: ['', [Validators.required]],
  18. email: ['', [Validators.required, Validators.email]],
  19. phone: ['', [Validators.required, Validators.pattern('^[0-9]*$')]],
  20. gender: ['', [Validators.required]],
  21. birthday: ['', [Validators.required]]
  22. });
  23. }
  24. onFileSelected(event: Event) {
  25. const input = event.target as HTMLInputElement;
  26. if (input.files && input.files[0]) {
  27. // 这里可以添加处理文件的逻辑,例如上传到服务器
  28. console.log('Selected file:', input.files[0]);
  29. }
  30. }
  31. saveProfile() {
  32. if (this.profileForm.valid) {
  33. const updatedUserInfo = this.profileForm.value;
  34. console.log('Profile saved:', updatedUserInfo);
  35. // 更新全局用户信息
  36. this.userService.updateUserInfo(updatedUserInfo);
  37. this.navCtrl.pop(); // 保存成功后返回上一页
  38. }
  39. }
  40. }