ng-alain st组件获取数据失败,postman显示api 有返回数据。

如题, 用mock 数据没有问题,换上api地址就会出现异常。
经过测试,发现如下问题:
先贴出st组件:
<st #st [data]="queryData" [columns]="columns" size='small' (checkboxChange)="checkboxChange($event)"></st>

ts文件中:
queryData = ‘api/xxxx’.
api 返回数据:
{

"Total": 2021,
"List": [
    {
        "PlantCode": "F1331",
        "PlantName": "F1331",
        "UpdateDate": "2019/01/24",
        "UpdateUser": "Z12083050"
    }
]

} //这样数据列表不会显示

如果 queryData = List, 数据列表可以正常显示,但没办法使用服务器分页,或者配合st.reload使用,只能重写搜索方法。
@cipchk 大神请帮我看看~谢谢~

阅读 4.5k
3 个回答

可以了解一下 [res] 参数,响应体的结构并非默认的 [res] 配置项,因此无法获取到数据。

应该是旧版本,应该是 resReName 参数。 https://ng-alain.github.io/1....

感谢卡色老哥 @cipchk 的解疑,是需要使用reName属性为响应体结构重新命名(如果响应体不一样的情况下)。
xxx.ts 添加如下代码就可以了。
res: STRes = { reName: { total: 'Total', list: 'List' } };
再次感谢~

参照两位@cipchk@ghwillbe 的评论,在页面初始化加载的时候取到数据正确显示了,但是我点击重置按钮后,再次取得数据正确,点击翻页时未提交后台取数据,,,
重置按钮操作:
reset() {

// wait form reset updated finished
setTimeout(() => this.getData());

}

getData() {

this.http.post(url, this.form.value)
.subscribe((res: any) => {
  this.st.data = res.data;
  this.total = res.total;
  this.st.reload();
});

}

还请@cipchk@ghwillbe 两位帮忙看看要做什么处理,谢谢!!!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进