Я работаю на простом Угловой 2 приложении и у меня возникаю проблемы с перезагрузкой ngForm, но сохраняющие значение по умолчанию:Сброс формы и установить значение по умолчанию Угловой 2
Ожидаемого поведение при нажатии кнопки «Reset», поле ввода будет сброшен до значения по умолчанию («Default» в этом случае), а также все угловые конкретные классы, возвращающиеся к умолчанию (т.е. ng-нетронутый, ng-первозданный и т. д.)
Что я вижу, это значение по умолчанию также очищается, даже если я явно установил его после сброса формы
Фрагмент кода ниже:
HTML:
<form (ngSubmit)="onTrainSearchClick()" novalidate #trainForm="ngForm">
<input type="text" [(ngModel)]="id" name="someId"/>
<button type="button" (click)="reset(trainForm)">Reset</button>
<button type="submit">Search</button>
</form>
машинопись (ушел из импорта и @Component):
export class TrainSearchTestComponent implements OnInit {
id: string = 'DEFUALT';
constructor() { }
ngOnInit() { }
onTrainSearchClick(){ }
reset(form: NgForm){
form.resetForm();
this.id = 'DEFUALT';
}
}
это сработало для меня, но знаете ли вы, почему строка «this.id = 'Default'" не работает? спасибо –
, потому что вы просто установили идентификатор строки в значение по умолчанию. Проблема в том, что вы не устанавливаете свой FormControl, который содержит ваш id для этого значения. – smnbbrv
Я думаю, что метод теперь просто сбрасывается: form.reset() – Dave