最后,在花了很多时间之后得到了这个......希望这有帮助!
在这里,当您最初单击Add New时,您将获得将禁用 id 的空单元格,并将值插入column1、column2。单击创建按钮时,您的帖子调用发生在onPostCall方法中并等待响应然后更新单元格值并最终根据您的要求显示值,
当您单击编辑按钮时也会发生同样的情况
yourapp.component.html
<ng2-smart-table [settings]="settings" [source]="data"
(createConfirm)="onPostCall($event)"
(editConfirm)="onPostCall($event)">
</ng2-smart-table>
yourapp.component.ts
async onPostCall(event){
this.value= await this.yourService.
getId(yourarg).first().toPromise();
event.newData.id =this.value
// console.log(this.value);
event.confirm.resolve(event.newData);
}
//in your settings
settings = {
add: {
confirmCreate: true,
},
edit: {
confirmSave: true,
},
//
columns: {
// other columns
id: {
editable: false,
addable: false,
}
},
}
你的.service.ts
getId(value:any){
// your options here e.g,let options = new RequestOptions({ method: RequestMethod.Post });
// your content here e.g, let body = JSON.stringify(value);
return this.http.post('your_url',
body,
options
).map(res => {return res.json().yourvalue});
}
不要忘记在 app.module.ts 的提供者中添加条目 YourService !