Я хочу иметь возможность сбросить угловую форму с некоторыми значениями по умолчанию для ее модели
<form>
<input type="text" name="text" [(ngModel)]="model.text">
<button type="reset" (click)="resetModel()">Reset</button>
</form>
и в компоненте
model = { text: 'Test' };
resetModel() {
this.model = { text: 'Test' };
}
Это не работает как сброспроисходит после того, как модель установлена и текст сбрасывается до нуля.
Единственное, что я могу выяснить, - это использовать тайм-аут, как мы использовали для загрязнения наших приложений AngularJ с помощью
resetModel() {
setTimeout(() => { this.model = { text: 'Test' }; });
}
https://stackblitz.com/edit/angular-5pdpml
или сделайте кнопку простой старой кнопкой вместо кнопки сброса и передайте форму в метод сброса и вызовите markAsUntouched и markAsPristine.
Я неМне действительно нравится любой из этих параметров.
Я попытался присвоить входному значению значение, чтобы сброс имел значение по умолчанию, но Angular по-прежнему устанавливает нулевую модель, даже если на входе есть текст, установленный сбросом.
Есть ли способ для кнопки сброса установить состояние формы по умолчанию вместо того, чтобы устанавливать все привязки на ноль?