Angular FormControl数据类型(数字)?

时间:2017-04-15 12:16:17

标签: angular

textnumber输入使用Angular FormControl。我的问题是两者都被记录为文本。

var control = this._formBuilder.control(this.settings[input.property]);
control.valueChanges.subscribe((value: any) => {
  console.log(typeof value);
  console.log(value);
});

我的输入看起来像这样 -

<input [name]="input.property"
    [formControl]="control"
    [type]="inputElementType"
    class="form-control" id="form_control_1" placeholder="">

如果我设置type="number"它可以正常工作。但是像这样动态设置dom上的正确类型,但没有正确地注册formControl

我已经尝试过了 -

[type]="inputElementType"
[type]="getInputElementType()"
type="{{getInputElementType()}}"

这些都没有正确设置formControl

1 个答案:

答案 0 :(得分:0)

看起来这是不可能的,因为type不是@input而是选择器的一部分。您可以实现自己的ControlValueAccessor,它将类型作为输入。这是Angular的NumberValueAccessor:

@Directive({
 selector:
    'input[type=number][formControlName],input[type=number]
   [formControl],input[type=number][ngModel]',
 ...
})