ag-grid全局默认显示侧边栏后,无法单独设置[sideBar]属性如何禁用?
解决AG Grid设置许可证后默认显示侧边栏无法单独控制的问题
我之前也碰到过一模一样的情况!当你在main.ts里设置AG Grid企业版许可证后,全局配置会自动启用一些默认的企业级功能,其中就包括那个带Column标签的侧边栏,这时候组件里简单设置[sideBar]="true"或[sideBar]="false"确实会被全局配置覆盖,没法单独控制。下面给你几个实用的解决办法:
方法1:全局统一禁用侧边栏
在设置许可证的同时,通过setGlobalOptions全局关闭侧边栏,这样所有表格默认都不会显示,需要开启的表格再单独配置:
import { LicenseManager } from 'ag-grid-enterprise'; // 设置你的许可证密钥 LicenseManager.setLicenseKey('your-license-key-here'); // 全局禁用侧边栏 LicenseManager.setGlobalOptions({ sideBar: false });
方法2:组件级强制覆盖全局配置
如果不想全局修改,只想在特定组件里禁用侧边栏,可以用null或者空配置对象来强制覆盖全局设置,比单纯的false更可靠:
<ag-grid-angular [rowData]="yourRowData" [columnDefs]="yourColumnDefs" [sideBar]="null" <!-- 或者用 [sideBar]="{}" 也能生效 --> ></ag-grid-angular>
原理是:全局配置的侧边栏是一个包含Column工具的对象,而设置null或空对象会直接替换掉这个全局配置,彻底禁用侧边栏。
方法3:灵活控制部分表格显示侧边栏
如果需要部分表格保留侧边栏、部分禁用,可以先把全局配置的侧边栏设为默认的企业版配置,然后在需要禁用的组件里明确设置[sideBar]="false":
// main.ts里的全局配置 LicenseManager.setGlobalOptions({ sideBar: 'columns' // 保留默认的Column侧边栏配置 });
然后在要禁用的组件模板里:
<ag-grid-angular [rowData]="yourRowData" [columnDefs]="yourColumnDefs" [sideBar]="false" ></ag-grid-angular>
这些方法亲测有效,你可以根据自己的需求选一个最适合的!
内容的提问来源于stack exchange,提问作者Solution mate
相关产品推荐
相关产品推荐

