我开发与角4 web应用程序,但我有一个问题,因为我不知道如何获得新的数据,我md-table
如何更新数据到md表?
我已复制了同样的例子我的应用程序
https://github.com/angular/material2/tree/master/src/material-examples/table-http
我有一个组件form
和table-http
组件,在我的表-httpComponent我有我的表单发送变量的@Input字段,但是当我调用表-Http没有问题时,这从表单正确接收数据并呈现数据,但是当我修改表单中的字段时,我按下按钮(提交)我c不会渲染table-http
与发送新的@Input date
字段。
在我的模板组件我有这个
<form #f="ngForm" (ngSubmit)="onSubmit(f)" novalidate>
<div>
<md-input-container>
<input
mdInput
[mdDatepicker]="pickerInit"
placeholder="Fecha inicial"
name="init"
#init="ngModel"
ngModel
required>
<button mdSuffix [mdDatepickerToggle]="pickerInit"></button>
</md-input-container>
<md-datepicker #pickerInit></md-datepicker>
</div>
<div >
<button md-raised-button>Buscar</button>
</div>
</form>
<http-table *ngIf=active [date]=date></http-table>
这是我onSubmit
方法
onSubmit(f: NgForm) {
this.active = false;
if (!f.value["init"]) {
alert("Ingrese la fecha de inicio.");
return;
}
this.date = this.localISOTime(f.value["init"]);
this.active = true;
console.log("Form values -> ", f.value); //Here my data exists without problem
}
在我table-http
组件我宣布我的领域@Input() date: Date
当我按下了按钮第一次没有问题,table-http
呈现正确的数据,但是当我按下按钮t他第二次http-table
不能用新数据重新加载。
我不明白为什么不用新数据重新加载。
UPDATE
这里添加我plunker,总之,我的问题是基于选择,例如日期和按下按钮(按第二次推进的时候,这在我的实际分量不不会发生,所以不用担心),通过控制台打印两次相同的日期,假设日期在我的服务中用于获取新数据,如果我更改日期并再次按下按钮不要重新打印此数据,并且从不更新我的表格。
https://plnkr.co/edit/80955I8GGis25hbpPBz5?p=preview
希望我诊断是否正确的问题,而且上述解决方案适用于您! :) – Alex
感谢兄弟,您的解决方案适合我!问候!!! – fm433403
太棒了!很高兴听到我们为您解决问题! :) – Alex