如何清理 slickgrid 中的行数据?
Posted
技术标签:
【中文标题】如何清理 slickgrid 中的行数据?【英文标题】:How to sanitze the row data in the slick-grid? 【发布时间】:2021-12-05 06:26:02 【问题描述】:我们正在使用 slick-grid 在 angularJS 中显示我们应用程序中的数据,我们有来自后端的数据可能包含<,>
,它以“&lt;&gt;
”的形式发送。这需要在光滑的网格中进行清理,因为由于我们拥有的数据大小,我无法在控制器中执行此操作。那么我们如何在光滑网格中使用 show &lt;&gt;
as 呢?有什么办法吗?
通常在其他地方如果我使用ng-bind-html=value
将使&lt;&gt;
变为 在 span 或 div 中。无法在光滑网格数据行中执行此操作。
【问题讨论】:
【参考方案1】:您可以使用自定义格式化程序做任何您想做的事情,您可以在其中取消转义,但默认情况下格式化程序采用 html 字符串,因此只需声明格式化程序并返回值即可解决您的问题。
this.columnDefinitions = [
id: 'test', field: 'test', formatter: (row, cell, value) => value, ,
];
顺便说一句,我认为您的意思不是 Sanitize,因为那是另一个概念(通常 sanitize 用于删除可能打开安全漏洞的脚本标签),在您的情况下,我认为您的意思是取消转义或取消编码 html 特殊字符作为常规 html。目前自定义格式化程序的 SlickGrid 中没有清理,所以也请注意...实际上最后一句话不再正确,我创建了一个 Pull Request 合并并发布以添加基本清理以限制 XSS 攻击。
【讨论】:
以上是关于如何清理 slickgrid 中的行数据?的主要内容,如果未能解决你的问题,请参考以下文章