我在.html中有这个TextField
<TextField class="textfield" row="0" col="1" formControlName="powersupplyid" [text]='myipdevice'> </TextField>
我想在视图中显示“ myipdevice”时自动保存此功能。
getform() {
..........
.....
this.myipdevice = myipfind;
console.log('u gjet', this.myipdevice)
let LS = require("nativescript-localstorage");
LS.setItem(this.myipdevice);
}
您能问我什么想法,当数据以html格式显示时如何自动保存值myipdevice
?
谢谢!
答案 0 :(得分:0)
它已经被保存到您的表单对象中,无论您叫它什么。 可以说您称其为“表单”
然后this.form.controls.powersupplyid.value
应该在您在文本区域内键入或执行任何操作时自动更新其值。
答案 1 :(得分:0)
现在,您似乎正在做两件事。一方面,您将TextField
绑定到具有formControlName
的反应形式字段,另一方面,您还绑定了[text]
属性。我建议仅使用formControlName
。
在组件中,一旦检索到值,就可以将其推送到控件。 (由于您尚未发布完整的代码,因此我在这里做了一些假设。)
因此,在示例中的ngOnInit
方法中,您可以从存储中检索保存的值。然后,用patchValue
更新FormGroup
,以将更改推送到视图。
此外,您可以通过订阅valueChanges
来收听对控件的更改。
export class IpDeviceFormComponent implements OnInit {
form: this.fb.group({
powersupplyid: [''] // this is the FormControl bound to your TextField
});
constructor(private fb: FormBuilder) { }
ngOnInit() {
// get a previously saved value from somewhere
getSavedPowerSupplyId().subscribe(id => {
this.form.patchValue({
powersupplyid: id
});
});
// listen for any changes to the form
this.form.valueChanges.subscribe(form => { /* Save new form state */ });
}
}