浏览代码

完成组件:edit-tag

yuebuzu-creater 4 月之前
父节点
当前提交
86c1ef23d9

+ 8 - 0
MY-WEB/tslearn/a.js

@@ -0,0 +1,8 @@
+let a = 1;
+a = 2
+a = 3
+a = 3
+a = 3
+a = 3
+
+

+ 4 - 1
wisdom-app/angular.json

@@ -126,7 +126,10 @@
     }
   },
   "cli": {
-    "schematicCollections": ["@ionic/angular-toolkit"]
+    "schematicCollections": [
+      "@ionic/angular-toolkit"
+    ],
+    "analytics": false
   },
   "schematics": {
     "@ionic/angular-toolkit:component": {

+ 9 - 0
wisdom-app/src/app/edit-tag/edit-tag.component.html

@@ -0,0 +1,9 @@
+
+<ion-input [value]="userInput" (ionInput)="onInput($event)" type="text" placeholder="请输入标签名称"></ion-input>
+<p>当前输入: {{userInput}}</p> <ion-button (click)="addTag()">添加标签</ion-button>
+
+@for(tag of tags;track tag;){
+    <ion-chip color="primary" (click)="removeTag(tag)">
+        <ion-label>{{tag}}</ion-label>
+    </ion-chip>
+}

+ 0 - 0
wisdom-app/src/app/edit-tag/edit-tag.component.scss


+ 22 - 0
wisdom-app/src/app/edit-tag/edit-tag.component.spec.ts

@@ -0,0 +1,22 @@
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+
+import { EditTagComponent } from './edit-tag.component';
+
+describe('EditTagComponent', () => {
+  let component: EditTagComponent;
+  let fixture: ComponentFixture<EditTagComponent>;
+
+  beforeEach(waitForAsync(() => {
+    TestBed.configureTestingModule({
+      imports: [EditTagComponent],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(EditTagComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  }));
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});

+ 47 - 0
wisdom-app/src/app/edit-tag/edit-tag.component.ts

@@ -0,0 +1,47 @@
+import { Component, EventEmitter, OnInit, Output } from '@angular/core';
+import { IonInput,IonButton, IonLabel, IonChip } from '@ionic/angular/standalone';
+
+@Component({
+  selector: 'app-edit-tag',
+  templateUrl: './edit-tag.component.html',
+  styleUrls: ['./edit-tag.component.scss'],
+  standalone: true,
+  imports:[
+    IonInput,IonButton,IonChip,IonLabel
+  ]
+})
+export class EditTagComponent  implements OnInit {
+
+  /**
+   * 用户输入
+   */
+  userInput:string = "";
+  onInput(ev:any){
+    this.userInput = ev.detail.value;
+  }
+
+  /**
+   * 标签列表
+   */
+  tags:Array<string> = [];
+  addTag(){
+    this.tags.push(this.userInput);
+    this.userInput = "";
+    this.onTagChange.emit(this.tags);
+    console.log("传入的标签:",this.tags);
+  }
+
+  removeTag(tag:string){
+    // this.tags = this.tags.filter((item)=>item!=tag);
+    let idx = this.tags.findIndex((item)=>item==tag);
+    this.tags.splice(idx,1);
+  }
+
+  @Output()
+  onTagChange:EventEmitter<Array<string>> = new EventEmitter<Array<string>>();
+  
+  constructor() { }
+
+  ngOnInit() {}
+
+}

+ 20 - 6
wisdom-app/src/app/tab1/tab1.page.html

@@ -1,17 +1,31 @@
 <ion-header [translucent]="true">
   <ion-toolbar>
     <ion-title>
-      智养1
+      智养
     </ion-title>
   </ion-toolbar>
 </ion-header>
 
 <ion-content [fullscreen]="true">
-  <ion-header collapse="condense">
-    <ion-toolbar>
-      <ion-title size="large">智养2</ion-title>
-    </ion-toolbar>
-  </ion-header>
+  <div>
+    <ion-button
+    expand="block"
+    color="primary"
+    size="large"
+    (click)="goToPage()"
+    >
+    记录梦境
+    </ion-button>
+  </div>
+
+  <app-edit-tag (onTagChange)="setTagValue($event)"></app-edit-tag>
+  <h1>
+    <ul>
+      @for(tag of editTags; track tag;){
+        <li>{{tag}}</li>
+      }
+    </ul>
+  </h1>
 
   <app-explore-container name="智养3"></app-explore-container>
 </ion-content>

+ 19 - 2
wisdom-app/src/app/tab1/tab1.page.ts

@@ -1,14 +1,31 @@
 import { Component } from '@angular/core';
-import { IonHeader, IonToolbar, IonTitle, IonContent } from '@ionic/angular/standalone';
+import { IonHeader, IonToolbar, IonTitle, IonContent, IonTabButton } from '@ionic/angular/standalone';
 import { ExploreContainerComponent } from '../explore-container/explore-container.component';
+import { IonButton } from '@ionic/angular/standalone';
+import { IonIcon } from '@ionic/angular/standalone';
+import { EditTagComponent } from '../edit-tag/edit-tag.component';
 
 @Component({
   selector: 'app-tab1',
   templateUrl: 'tab1.page.html',
   styleUrls: ['tab1.page.scss'],
   standalone: true,
-  imports: [IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent],
+  imports: [
+    IonHeader, IonToolbar, IonTitle, IonContent, ExploreContainerComponent, IonTabButton, IonButton,
+    IonIcon,EditTagComponent
+  ],
 })
 export class Tab1Page {
+
+  editTags:Array<string> = []
+  setTagValue(ev:any){
+    console.log("setTagValue:",ev)
+    this.editTags = ev
+  }
+
+  goToPage(){
+    alert('go to page');
+  }
+
   constructor() {}
 }

+ 2 - 2
wisdom-app/src/app/tabs/tabs.page.html

@@ -1,12 +1,12 @@
 <ion-tabs>
   <ion-tab-bar slot="bottom">
     <ion-tab-button tab="tab1" href="/tabs/tab1">
-      <ion-icon aria-hidden="true" name="home"></ion-icon>
+      <ion-icon aria-hidden="true" name="accessibility"></ion-icon>
       <ion-label>智养</ion-label>
     </ion-tab-button>
 
     <ion-tab-button tab="tab2" href="/tabs/tab2">
-      <ion-icon aria-hidden="true" name="accessibility"></ion-icon>
+      <ion-icon aria-hidden="true" name="home"></ion-icon>
       <ion-label>社区</ion-label>
     </ion-tab-button>