《Angular--ng-zorro-antd---table筛选数据无法正常显示》
前言:
the best way out is always through
正文:
问题场景根据ng-zorro-antd的table,新增筛选功能,nameList按照组件库是直接初始化数据的:
nameList = [
{ text: 'Joe', value: 'Joe' },
{ text: 'Jim', value: 'Jim' }
];
在实际应用中,应该是要灵活与后端交互获取的,于是修改为:
?
nameList = [];
getTableData() {
console.log(this.pageIndex);
console.log(this.pageSize);
const url = 'demo-web/foo/queryAllFoo/' + this.pageIndex + '/' + this.pageSize;
this.http.get(url).subscribe(
res => {
if (res.json().code === ResponseCode.SUCCESSCODE) {
if (res.json().data.length === 0) {
this.tipMsgService.createMessage('温馨提示', '获取数据为空');
} else {
this.dataSet = res.json().data.list
// 这部分有变化
this.dataSet.forEach(
item => {
this.nameList.push({text: item.userName, value: item.userName})
}
)
console.log(this.dataSet);
this.total = res.json().data.total;
}
} else if (res.json().code === ResponseCode.FAILCODE) {
console.log(res.json().message);
this.tipMsgService.createMessage(ResponseCode.ErrorTip, '表格数据初始化查询失败')
}
}
);
// 数据加载延长时间--三秒
window.setTimeout(() => {
this.loading = false;
}, 1000);
}?
结果不起作用,在页面上无法渲染。
问题定位当最终显示到html上的数据需要进行转换处理时,需要重新定义一个变量,作为中间介质来进行赋值.
解决方案定义两个数组,一个用来组成nameList最终要的数据结构.然后再赋值给nameList:
nameList = [];
orginNameList = [];
this.dataSet.forEach(
item => {
this.orginNameList.push({text: item.userName, value: item.userName})
}
)
this.nameList = this.orginNameList;
结语:
【《Angular--ng-zorro-antd---table筛选数据无法正常显示》】the best preparation for tomorrow is doing your best today.
推荐阅读
- 慢慢的美丽
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 《跨界歌手》:亲情永远比爱情更有泪点
- 诗歌:|诗歌: 《让我们举起世界杯,干了!》
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 人间词话的智慧
- 《一代诗人》37期,生活,江南j,拨动心潭的一泓秋水
- 广角叙述|广角叙述 展众生群像——试析鲁迅《示众》的展示艺术
- 书评——《小行星》