primeNG 的 p-dataTable 无法从员工数组/Angular 4 中获取值
p-dataTable of primeNG counldnt fetch value from an array of employess /Angular4
没有显示数据
[value]="targetEmployeeonpopup"
在 html
当 ts 文件像:
targetEmployeeonpopup: Employees[]=[];
this.targetEmployeeonpopup.push({ uid: "aa",
firstName: "aa",
lastName: "aa",
supervisorInd: true});
当ts为:
时显示
this.targetEmployeeonpopup=[{ uid: "aa",
firstName: "aa",
lastName: "aa",
supervisorInd: true}];
我可以就问题的任何原因获得反馈吗?
我相信您遇到的问题是由于 table 上的优化原因。
我相信 table 已优化为仅适用于检测策略 OnPush
。
意味着它不会检测对象的内部变化(突变)。当您执行 push
时,您正在改变对象而不是创建新的引用。
尝试做同样的事情,但改用 spread operator
。
类似于:
this.targetEmployeeonpopup = [...this.targetEmployeeonpopup,{ uid: "aa", firstName: "aa", lastName: "aa", supervisorInd: true}];
spread operator
将使用新元素创建一个新对象。这将在 table 上触发 Angular 变化检测。因为它不会改变原始对象。
没有显示数据
[value]="targetEmployeeonpopup"
在 html
当 ts 文件像:
targetEmployeeonpopup: Employees[]=[];
this.targetEmployeeonpopup.push({ uid: "aa",
firstName: "aa",
lastName: "aa",
supervisorInd: true});
当ts为:
时显示 this.targetEmployeeonpopup=[{ uid: "aa",
firstName: "aa",
lastName: "aa",
supervisorInd: true}];
我可以就问题的任何原因获得反馈吗?
我相信您遇到的问题是由于 table 上的优化原因。
我相信 table 已优化为仅适用于检测策略 OnPush
。
意味着它不会检测对象的内部变化(突变)。当您执行 push
时,您正在改变对象而不是创建新的引用。
尝试做同样的事情,但改用 spread operator
。
类似于:
this.targetEmployeeonpopup = [...this.targetEmployeeonpopup,{ uid: "aa", firstName: "aa", lastName: "aa", supervisorInd: true}];
spread operator
将使用新元素创建一个新对象。这将在 table 上触发 Angular 变化检测。因为它不会改变原始对象。