我嘗試在輸入字段格式/掩碼值時鍵入,而實際模型保留原始(或不同格式)值。我正在考慮電話號碼等,但爲了簡單起見,我使用大寫字母進行測試。Angular 2 - 輸入掩碼:輸入框顯示格式化值,而模型保留未格式化的值
我試過一堆東西,希望它像指令一樣簡單。但似乎無法使顯示值偏離表單值。
普拉克:http://plnkr.co/edit/VH5zn4S8q28CBpFutBlx?p=preview
這裏的指令:
@Directive({
selector: '[uppercase]',
host: {
'(input)': 'onInputChange()',
}
})
export class UppercaseDirective {
constructor(private model: NgFormControl) { }
onInputChange() {
let newValue = this.model.value.toUpperCase();
this.model.viewToModelUpdate(newValue);
this.model.valueAccessor.writeValue(newValue);
}
}
和形式:
<form [ngFormModel]='myForm'>
<input [ngFormControl]='myForm.controls.field' uppercase>
<div>
{{ myForm.value.field }}
</div>
</form>
爲什麼不能管?聽起來像你只是想要一種不同的方式來顯示文字。 –
我想要在輸入框中輸入格式 - 輸入掩碼。我只在測試中顯示視圖中的值。 – Steve