ngx-datatable技术问题:Angular项目中如何显示行对象属性值?
解决ngx-datatable绑定数据后行内容为空但选中能获取对象的问题
我之前也碰到过一模一样的情况!这种现象基本都是模板里的列配置或者数据映射出了小问题,咱们一步步排查:
首先检查列的
prop属性是否严格匹配
ngx-datatable的prop是严格对应数据对象的属性名的,大小写、拼写都不能错。比如你的数据字段是StockName,那列定义必须写成:<ngx-datatable-column name="股票名称" prop="StockName"></ngx-datatable-column>要是写成了
stockName或者stockname,就会出现行存在但内容不渲染的情况。确认数据对象确实包含
StockName属性
有时候我们以为数据里有这个字段,但实际接口返回或者数据处理时可能漏了。可以在组件里打印数据确认:// 在数据赋值后加个日志 console.log('表格数据:', this.stockList);看看每个数组元素是不是真的有
StockName这个键,值是不是有效内容。检查模板结构是否正确,尤其是自定义单元格模板
如果你用了自定义cell模板,要确保正确拿到字段值。比如:<ngx-datatable-column name="股票名称"> <ng-template ngx-datatable-cell-template let-row="row"> {{ row.StockName }} </ng-template> </ngx-datatable-column>这里用
let-row="row"直接取整行数据,再访问StockName,比依赖prop更直观,也能避免属性名匹配的问题。排查样式导致的内容隐藏
偶尔会出现文字颜色和背景色一致的情况,看起来是空行但实际有内容。可以右键浏览器检查元素,看看单元格里有没有StockName的文本内容。
如果以上都没问题,建议检查下ngx-datatable版本和你的Angular CLI版本是否兼容,版本不匹配也可能出现这种奇怪的渲染异常。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

