123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- import { Input, OnInit } from '@angular/core';
- import { Component } from '@angular/core';
- import { ModalController } from '@ionic/angular';
- import { IonHeader, IonToolbar, IonTitle, IonContent, IonCard, IonCardContent, IonButton, IonCardHeader, IonCardTitle, IonCardSubtitle, IonInput, IonItem, IonLabel, IonList } from '@ionic/angular/standalone';
- import { CloudUser } from 'src/lib/ncloud';
- import { CommonModule } from '@angular/common'; // 导入 CommonModule
- @Component({
- selector: 'app-modal-user-edit',
- templateUrl: './modal-user-edit.component.html',
- styleUrls: ['./modal-user-edit.component.scss'],
- standalone: true,
- imports: [
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonCard,
- IonCardContent,
- IonButton,
- IonCardHeader,
- IonCardTitle,
- IonCardSubtitle,
- IonInput,
- IonItem,
- IonLabel,
- IonList,
- IonCard,
- CommonModule // 添加 CommonModule
- ],
- })
- export class ModalUserEditComponent implements OnInit {
- currentUser:CloudUser|undefined
- userData:any = {}
- userDataChange(key:string,ev:any){
- let value = ev?.detail?.value
- if(value){
- this.userData[key] = value
- }
- }
- constructor(private modalCtrl:ModalController) {
- this.currentUser = new CloudUser();
- this.userData = this.currentUser.data;
- }
- ngOnInit() {}
- async save() {
- Object.keys(this.userData).forEach(key => {
- if (key === "age") {
- this.userData[key] = Number(this.userData[key]);
- }
- });
- this.currentUser?.set(this.userData);
-
- // 这里使用 PUT 方法更新用户信息
- const updatedUser = await this.currentUser?.save();
-
- if (updatedUser) {
- this.modalCtrl.dismiss(updatedUser, "confirm");
- } else {
- console.error("Failed to save user data");
- }
- }
- cancel(){
- this.modalCtrl.dismiss(null,"cancel")
- }
- }
- export async function openUserEditModal(modalCtrl:ModalController):Promise<CloudUser|null>{
- const modal = await modalCtrl.create({
- component: ModalUserEditComponent,
- breakpoints:[0.7,1.0],
- initialBreakpoint:0.7
- });
- modal.present();
- const { data, role } = await modal.onWillDismiss();
- if (role === 'confirm') {
- return data;
- }
- return null
- }
|