ag-grid-vue 选中点击列的时候不选中复选框
时间: 2023-09-06 22:05:47 浏览: 374
复选框的全选全不选
在ag-grid-vue中,当在单击列时不选中复选框,可以通过设置网格选项的一些属性来实现。
首先,我们可以使用`suppressRowClickSelection`属性来禁止单击行时选择行。该属性默认为false,即单击行时会同时选中复选框。将其设置为true,可以阻止行选中。
另外,还可以通过使用`onCellClicked`事件来处理单击列时的逻辑。在该事件的处理程序中,我们可以检查点击的单元格是否是复选框单元格,如果是,则调用`event.stopPropagation()`方法阻止事件向上冒泡,从而使复选框不被选中。
例如:
```
<template>
<div style="height: 500px;" class="ag-theme-alpine">
<ag-grid-vue
:columnDefs="columnDefs"
:rowData="rowData"
:defaultColDef="defaultColDef"
:rowSelection="rowSelection"
:suppressRowClickSelection="true"
@cellClicked="onCellClicked"
></ag-grid-vue>
</div>
</template>
<script>
export default {
data() {
return {
columnDefs: [
{ field: "name" },
{ field: "age" },
{ field: "country" },
{ field: "checkbox", cellRenderer: "checkboxRenderer" },
],
rowData: [
{ name: "John", age: 28, country: "USA" },
{ name: "Jane", age: 32, country: "UK" },
{ name: "Bob", age: 45, country: "Australia" },
],
defaultColDef: { sortable: true, filter: true },
rowSelection: "multiple",
};
},
methods: {
onCellClicked(params) {
const colId = params.column.getId();
if (colId === "checkbox") {
params.event.stopPropagation();
}
},
},
};
</script>
```
在上述代码中,我们设置了一个名为`checkboxRenderer`的自定义单元格渲染器,用于渲染复选框的列。在`onCellClicked`方法中,我们检查了点击的单元格的列ID是否为`checkbox`,如果是,则调用了`event.stopPropagation()`方法。这样,在点击复选框列时,复选框将不会被选中。
通过上述设置,我们可以实现在ag-grid-vue中点击列时不选中复选框的效果。
阅读全文