Tag标签

    • 用于标记事物的属性和维度。
    • 进行分类。

    想要了解更多关于单独引入组件的内容,可以在快速上手页面进行查看。

    基本标签的用法,可以通过添加 变为可关闭标签。可关闭标签具有 nzOnClosenzAfterClose 两个事件。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-tag-basic',
    4. template: `
    5. <nz-tag>Tag 1</nz-tag>
    6. <nz-tag>
    7. <a href="https://github.com/NG-ZORRO/ng-zorro-antd">Link</a>
    8. </nz-tag>
    9. <nz-tag nzMode="closeable" (nzOnClose)="onClose()" (nzAfterClose)="afterClose()">Tag 2</nz-tag>
    10. <nz-tag nzMode="closeable" (nzOnClose)="preventDefault($event)">Prevent Default</nz-tag>
    11. `
    12. })
    13. export class NzDemoTagBasicComponent {
    14. onClose(): void {
    15. console.log('tag was closed.');
    16. }
    17. afterClose(): void {
    18. }
    19. preventDefault(e: Event): void {
    20. e.preventDefault();
    21. e.stopPropagation();
    22. console.log('tag can not be closed.');
    23. }
    24. }

    Tag标签 - 图2

    用数组生成一组标签,可以动态添加和删除,通过监听删除动画结束的事件 nzAfterClose 实现。

    热门标签

    选择你感兴趣的话题。

    1. const tagsFromServer = ['Movie', 'Books', 'Music', 'Sports'];
    2. @Component({
    3. selector: 'nz-demo-tag-hot-tags',
    4. template: `
    5. <strong>Categories: </strong>
    6. <nz-tag
    7. *ngFor="let tag of hotTags"
    8. nzMode="checkable"
    9. [nzChecked]="selectedTags.indexOf(tag) > -1"
    10. (nzCheckedChange)="handleChange($event, tag)"
    11. >
    12. {{ tag }}
    13. </nz-tag>
    14. `
    15. })
    16. hotTags = tagsFromServer;
    17. selectedTags: string[] = [];
    18. handleChange(checked: boolean, tag: string): void {
    19. if (checked) {
    20. this.selectedTags.push(tag);
    21. } else {
    22. this.selectedTags = this.selectedTags.filter(t => t !== tag);
    23. }
    24. console.log('You are interested in: ', this.selectedTags);
    25. }
    26. }

    我们添加了多种预设色彩的标签样式,用作不同场景使用。如果预设值不能满足你的需求,可以设置为具体的色值。

    Tag标签 - 图5

    可选择

    可通过 nzMode="checkable" 实现类似 Checkbox 的效果,点击切换选中效果。

    1. @Component({
    2. selector: 'nz-demo-tag-checkable',
    3. template: `
    4. <nz-tag nzMode="checkable" [nzChecked]="true" (nzCheckedChange)="checkChange($event)">Tag1</nz-tag>
    5. <nz-tag nzMode="checkable" [nzChecked]="true" (nzCheckedChange)="checkChange($event)">Tag2</nz-tag>
    6. <nz-tag nzMode="checkable" [nzChecked]="true" (nzCheckedChange)="checkChange($event)">Tag3</nz-tag>
    7. `
    8. })
    9. export class NzDemoTagCheckableComponent {
    10. checkChange(e: boolean): void {
    11. console.log(e);
    12. }