import { OnInit } from '@angular/core'; import { Component } from '@angular/core'; import { IonHeader, IonToolbar, IonTitle, IonContent, IonCard, IonCardContent, IonButton, IonCardHeader, IonCardTitle, IonCardSubtitle, ModalController, IonInput, IonItem, IonSegment, IonSegmentButton, IonLabel, ToastController } from '@ionic/angular/standalone'; import { CloudUser } from 'src/lib/ncloud'; @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, IonSegment,IonSegmentButton,IonLabel ], }) 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,private toastController: ToastController) { 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) await this.currentUser?.save() this.modalCtrl.dismiss(this.currentUser,"confirm") // 创建并显示提示 const toast = await this.toastController.create({ message: '编辑成功!', duration: 2000, // 持续时间(毫秒) position: 'bottom', // 显示位置 }); toast.present(); // 显示提示 } cancel(){ this.modalCtrl.dismiss(null,"cancel") } } export async function openUserEditModal(modalCtrl:ModalController):Promise{ 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 }