ng2-currency-mask <输入readonly =“”/>属性不起作用

时间:2017-12-21 12:57:25

标签: angular currency-formatting

我有一个输入,用户将输入货币值,所以我使用ng2-currency-mask来促进。但是,我还需要将此输入设置为只读。添加readonly属性并没有解决我的问题,因为当您单击输入并键入时,值会更改。以下是代码段:

<div class="ui-g-12 ui-md-6 ui-fluid">
    <label for="inputValor" id="labelValor">Valor unitário</label>
    <input id="inputValor" name="inputValor" type="text" currencyMask pInputText required ng-focus="false" [options]="{allowNegative: false, decimal: ',', prefix: 'R$ ', thousands: '.'}" [readonly]="true" [(ngModel)]="alteracoes.produto.valor">
</div>

有任何想法解决这个问题的人吗?

1 个答案:

答案 0 :(得分:0)

如果您可以控制readonly值,请尝试这样的事情。

您的输入标记

<input id="inputValor" name="inputValor" type="text" currencyMask pInputText required ng-focus="false" [options]="{allowNegative: false, decimal: ',', prefix: 'R$ ', thousands: '.'}" [readonly]="readOnly" (keydown)="onKeyDown($event)" [(ngModel)]="alteracoes.produto.valor">

在你的ts:

public readOnly: boolean; 

onKeyDown(event: any): void {
 if (this.readOnly) {
  event.preventDefault();
 }
}