Pertanyaan Bagaimana cara saya mengatur nilai kontrol bentuk Sudut 2 secara terprogram?


Bagaimana cara mengubah kontrol Sudut 2 dari kode?

Ketika saya melakukannya seperti ini:

control.value = "new value";

Saya mendapatkan kesalahan berikut:

TypeError: Cannot set property value of #<AbstractControl> which has only a getter

5
2018-06-15 20:22


asal


Jawaban:


Anda dapat menggunakan updateValue metode:

control.updateValue("new value");

memperbarui:

Anda sekarang dapat menggunakan setValue:

control.setValue("new value");

5
2018-06-15 20:22



Anda harus mentransmisikan AbstractControl ke a Control sebelum Anda memiliki akses ke updateValue metode:

(<Control>yourControl).updateValue(val);

2
2018-06-29 12:35



Anda harus menggunakan keduanya updateValue dan updateValueAndValidity untuk memperbarui nilai kontrol dan juga memicu validator / menghitung status.

Berikut ini contohnya:

control.updateValue("new value");
control.updateValueAndValidity();

1
2018-06-15 22:14



Dalam versi terakhir dari Angular 2, the .changeValue(newValue: string) metode dihapus dan ditukar .patchValue(newValue: string)

jadi kamu bisa melakukannya control.patchValue('your new value goes here');


1
2017-11-23 15:18