javascript - 如何跳过应用到 ag-grid 组件的具体化 css 文件
问题描述
我有一个.cshtml
文件,其中包含用于设置这些按钮样式的搜索/上传/下载/保存按钮,并且在同一页面中有一个用于在网格中显示上传的文件数据的文件。因此,该页面同时引用了ag-grids javascript社区版文件,即.materialize.min.css
ag-grid
materialize.min.css
ag-grid-community.min.js
我想选择 ag-grid 的每一行,然后将其发送到后端进行处理。所以我启用了 ag-grids 列属性checkboxselection
。但不幸的是checkbox
, in ag-grid 不起作用(即无法选中复选框),因为CSS
它materialize.min.css
被应用于checkbox
element 而不是 ag-grids checkbox CSS
。
我尝试了以下方法来解决这个问题,但没有任何帮助,
- 更改了我页面中 CSS 文件的顺序。
- 编写了一个单独的 CSS 文件并复制了与 ag-grids 复选框相关的 CSS,并
!important
为其每个属性添加了标签。 - 尝试使用 ag-grids
cellclass
属性。
根据我的项目结构,我不能为搜索/上传/下载/保存CSS
按钮提供单独的文件,因为它是作为单独的框架编写的。
有没有办法绕过materialize.min.css
文件被应用ag-grid
?
解决方案
我最近遇到了同样的问题,受此答案的启发,以下内容对我有用。
根据上面的链接添加以下 CSS 以撤消 Materialize 格式:
[type="checkbox"].reset-checkbox,
[type="checkbox"].reset-checkbox:checked,
[type="checkbox"].reset-checkbox:not(checked) {
opacity: 1 !important;
position: relative !important;
pointer-events: inherit !important;
}
[type="checkbox"].reset-checkbox+span::before,
[type="checkbox"].reset-checkbox+span::after,
[type="checkbox"].reset-checkbox:checked+span::before,
[type="checkbox"].reset-checkbox:checked+span::after {
display: none !important;
}
[type="checkbox"].reset-checkbox+span:not(.lever) {
padding-left: 10px !important;
}
将以下内容添加到您的 ag-grid。这会将类添加到所有复选框。它需要在滚动事件上动态调用,因为 ag-grid 使用 DOM 虚拟化。
gridOptions.onBodyScroll = function(){
var inputs = document.querySelectorAll(".ag-checkbox-input");
for(var i = 0; i < inputs.length; i++) {
inputs[i].classList.add('reset-checkbox');
}
}
推荐阅读
- css - 如何减少 H2 标题内联的字体粗细 - 最佳实践
- networking - 通过路由器共享 Wifi 互联网
- tron - TronWeb 发送 trc20 usdt
- python - Python 套接字错误:连接被拒绝(stack.error errno 111)
- python - 如何在python中将折线分割成直线段?
- gnuplot - 将运行总计变为每日计数
- sql - Postgres - 根据 IN 和 OUT 条目计算总工作时间
- scala - 值 / 不是 sbt.librarymanagement.ModuleID 的成员
- javascript - 如何从客户端共享变量到服务器端?
- python - 如何使用 python pandas 获取具有多个列的行?