我有一个左侧导航窗格,其中有一个“添加项目”链接,该链接将我带到一个用于添加项目的表单。
我的路线如下:
SELECT cast(st_y(st_transform(way, 4326)) as text) AS lat,
cast(st_x(st_transform(way, 4326)) as text) AS lon
"addr:housenumber" AS husenumber,
"addr:street" AS street,
"addr:postcode" AS postcode
FROM planet_osm_point
用户成功保存项目后,我希望在禁用保存按钮的情况下保持同一页面。但是,当用户再次单击左侧导航栏中的“添加项目”链接时,我希望重新初始化我的组件。我如何执行此操作,因为如果当前视图是导航到的视图,则不会调用{ path: 'additem', component: AddItemComponent, canActivate: [AuthGuard], data: {title: 'Add Item'} }
方法?我无法订阅查询或路由参数的更改,因为我没有查询或路由参数。
答案 0 :(得分:0)
如果您正在为表单使用formbuilder,
在你的html中使用disabled
属性来禁用按钮
<form [formGroup]="offerForm" (ngSubmit)="addMyOffer(offerForm.value)">
<input type="text" formControlName="myOffer">
<button type="submit" [disabled]="!offerForm.valid">
<span>Add</span>
</button>
</form>
在您的组件中,保存数据后,重置表单以添加新优惠
import { FormBuilder, FormGroup, Validators,FormControl } from '@angular/forms';
export class formComponent{
private offerForm:FormGroup;
constructor(private formBuilder: FormBuilder){
this.offerForm = this.formBuilder.group({
'myOffer' :['',Validators.required],
});
}
private addMyOffer(obj:any){
//code for saving data
this.offerForm.reset(); // resets the form to add new offer
}
}