| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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<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
- }
|