首页 > 解决方案 > 在角度 7 中显示 00000000 而不是 0

问题描述

我需要在数字字段中显示 0000000000 而不是 0,这是 sql 数据库中的一种 bigint。我只能显示 0 而不是 00000000,因为数据类型是 bigint。0000000000 应仅显示票值为 0 的票号,其他票号值应显示来自数据库的数字。我想我需要填充但不确定在类型脚本或 html 中在哪里使用。这是我获取和设置值的代码。请帮忙!

     get numberValue(): number {
     return this.value.number; }:

       set numberValue(value: number) {
      setControlValue(this.get('number'), this.value.number, value);
    }

In html :
 <tbody  *ngFor="let ticket of form.tickets.controls; let i=index" [formGroupName]="i">
                <tr>
                    <td>
                        <input type="text" class="form-control" formControlName="number"/>
</td>`enter code here`
<tr>
<tbody>

谢谢你的时间!

标签: angulartypescript

解决方案


演示您需要编写自定义管道

创建管道

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
    name: 'customnumber'
})
export class NumberPipe implements PipeTransform {

    transform(item: number): string {
        var result=item==0 ? "000000000":item.toString();
        return result;
    }
}

在声明中导入 appModule

declarations: [ NumberPipe ],

然后在 html 中就像放在你的参数附近| customnumber

以反应形式使用[value]

  <form [formGroup]="myForm">
        <input 
        [value]="myForm.get('number').value | customnumber"
        formControlName="number" 
      >


推荐阅读