如何自动滚动到指定列?ag-Grid React技术问题咨询
解决ag-Grid默认滚动到指定列的问题
首先得纠正一个误区:你用的ensureIndexVisible是用来滚动到指定行的API,要实现列滚动得用ensureColumnVisible才对。
关于列的key,其实就是你列定义里的这两个属性之一:
- 如果你给列设置了
colId,那这个值就是列的key; - 没设置
colId的话,列的field属性会自动作为默认key。
举个实际代码例子(React环境):
// 列定义示例 const columnDefs = [ { field: 'name', headerName: '姓名' }, { field: 'age', headerName: '年龄' }, { field: 'address', headerName: '地址', colId: 'userAddress' }, // 更多列... ]; // 获取grid API后调用滚动 const onGridReady = (params) => { const gridApi = params.api; // 滚动到field为'address'的列(因为没指定colId,用field当key) gridApi.ensureColumnVisible('address'); // 如果是指定了colId的列,就用colId // gridApi.ensureColumnVisible('userAddress'); }; // 在组件里渲染ag-Grid <AgGridReact columnDefs={columnDefs} onGridReady={onGridReady} // 其他配置... />
还要注意调用时机:必须等grid初始化完成(也就是onGridReady触发之后)再调用ensureColumnVisible,不然API还没挂载,调用会无效。
另外检查下你的列key是否和定义完全一致,大小写、拼写都不能错,比如列定义里是'email',你写成'Email'就会找不到列。
内容的提问来源于stack exchange,提问作者Sorta Gud
相关产品推荐
相关产品推荐

