• InputNumber数字输入框
    • 何时使用
    • 单独引入此组件
    • 代码演示
    • API
      • nz-input-numbercomponent
        • 方法

    InputNumber数字输入框

    通过鼠标或键盘,输入范围内的数值。

    注意:InputNumber 会在 (blur)(keydown.enter) 时触发校验,而不是在用户输入每个字符时立刻进行校验,以此来避免反复输出错误校验结果的情况(例如输入 -0.02001 或者 -1.0e28)

    何时使用

    当需要获取标准数值时。

    单独引入此组件

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

    1. import { NzInputNumberModule } from 'ng-zorro-antd/input-number';

    代码演示

    InputNumber数字输入框 - 图1

    基本

    数字输入框。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-input-number-basic',
    4. template: `
    5. <nz-input-number [(ngModel)]="demoValue" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
    6. `
    7. })
    8. export class NzDemoInputNumberBasicComponent {
    9. demoValue = 3;
    10. }

    InputNumber数字输入框 - 图2

    不可用

    点击按钮切换可用状态。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-input-number-disabled',
    4. template: `
    5. <nz-input-number
    6. [(ngModel)]="demoValue"
    7. [nzMin]="1"
    8. [nzMax]="10"
    9. [nzStep]="1"
    10. [nzDisabled]="isDisabled"
    11. ></nz-input-number>
    12. <div style="margin-top:20px;">
    13. <button nz-button [nzType]="'primary'" (click)="toggleDisabled()">
    14. <span>Toggle Disabled</span>
    15. </button>
    16. </div>
    17. `
    18. })
    19. export class NzDemoInputNumberDisabledComponent {
    20. demoValue = 3;
    21. isDisabled = false;
    22. toggleDisabled(): void {
    23. this.isDisabled = !this.isDisabled;
    24. }
    25. }

    InputNumber数字输入框 - 图3

    格式化展示

    通过 nzFormatter 格式化数字,以展示具有具体含义的数据,往往需要配合 nzParser 一起使用。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-input-number-formatter',
    4. template: `
    5. <nz-input-number
    6. [(ngModel)]="demoValue"
    7. [nzMin]="1"
    8. [nzMax]="100"
    9. [nzStep]="1"
    10. [nzFormatter]="formatterDollar"
    11. [nzParser]="parserDollar"
    12. ></nz-input-number>
    13. <nz-input-number
    14. [(ngModel)]="demoValue"
    15. [nzMin]="1"
    16. [nzMax]="100"
    17. [nzStep]="1"
    18. [nzFormatter]="formatterPercent"
    19. [nzParser]="parserPercent"
    20. ></nz-input-number>
    21. `,
    22. styles: [
    23. `
    24. nz-input-number {
    25. margin-right: 8px;
    26. }
    27. `
    28. ]
    29. })
    30. export class NzDemoInputNumberFormatterComponent {
    31. demoValue = 100;
    32. formatterPercent = (value: number) => `${value} %`;
    33. parserPercent = (value: string) => value.replace(' %', '');
    34. formatterDollar = (value: number) => `$ ${value}`;
    35. parserDollar = (value: string) => value.replace('$ ', '');
    36. }

    InputNumber数字输入框 - 图4

    三种大小

    三种大小的数字输入框,当 nzSize 分别为 largesmall 时,输入框高度为 40px24px ,默认高度为 32px

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-input-number-size',
    4. template: `
    5. <nz-input-number [(ngModel)]="demoValue" [nzSize]="'large'" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
    6. <nz-input-number [(ngModel)]="demoValue" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
    7. <nz-input-number [(ngModel)]="demoValue" [nzSize]="'small'" [nzMin]="1" [nzMax]="10" [nzStep]="1"></nz-input-number>
    8. `,
    9. styles: [
    10. `
    11. nz-input-number {
    12. margin-right: 8px;
    13. }
    14. `
    15. ]
    16. })
    17. export class NzDemoInputNumberSizeComponent {
    18. demoValue = 3;
    19. }

    InputNumber数字输入框 - 图5

    小数

    和原生的数字输入框一样,value 的精度由 nzStep 的小数位数决定。

    1. import { Component } from '@angular/core';
    2. @Component({
    3. selector: 'nz-demo-input-number-digit',
    4. template: `
    5. <nz-input-number
    6. [(ngModel)]="demoValue"
    7. [nzMin]="1"
    8. [nzMax]="10"
    9. [nzStep]="0.1"
    10. [nzPlaceHolder]="'Digital'"
    11. ></nz-input-number>
    12. `
    13. })
    14. export class NzDemoInputNumberDigitComponent {
    15. demoValue: number;
    16. }

    API

    nz-input-numbercomponent

    nz-input-number 中输入的数值不会在输入时进行校验,而是在特定时机(回车键,上下键,失去焦点等)时才会校验后反馈到 [ngModel](ngModelChange) 中,否则输入 -0.12 或者 1e10 这种类型数据时,双向绑定的数据会永远是 undefined

    成员说明类型默认值
    [ngModel]当前值,可双向绑定number | string | string-
    [nzAutoFocus]自动获取焦点booleanfalse
    [nzDisabled]禁用booleanfalse
    [nzMax]最大值numberInfinity
    [nzMin]最小值number-Infinity
    [nzFormatter]指定输入框展示值的格式(value: number | string) => string | number-
    [nzParser]指定从 nzFormatter 里转换回数字的方式,和 nzFormatter 搭配使用(value: string) => string | number-
    [nzPrecision]数值精度number-
    [nzSize]输入框大小'large' | 'small' | 'default''default'
    [nzStep]每次改变步数,可以为小数number | string1
    [nzPlaceHolder]选择框默认文字string-
    [nzId]组件内部 input 的 id 值string-
    (ngModelChange)数值改变时回调EventEmitter<number>-
    (nzFocus)focus时回调EventEmitter<void>-
    (nzBlur)blur时回调EventEmitter<void>-

    方法

    通过 ViewChild 等方法获得实例后调用

    名称描述
    focus()获取焦点
    blur()移除焦点