AgGridVueWrap设置单击表格选中行

前情提要:产品提的优化

一开始是想通过单击事件来实现:

<AgGridVueWrap class="table ag-theme-balham" :columnDefs="columns" @sort-changed="sortChanged"
                @selection-changed="onSelectionChanged" multiSortKey="ctrl" serverSideSortOnServer="true"
                @rowClicked="rowClicked" :suppressRowClickSelection="true" :rowData="tableData" v-loading="loading"
                rowSelection="multiple" border :style="{ width: '100%', height: tableHeight }"></AgGridVueWrap>
function rowClicked(event) {
    event.api.deselectAll();
    event.node.setSelected(true)    
}

这有个坑,百度搜到的

event.api.setNodesSelected({ nodes: [event.node], newValue: true });

调试报错,提示没有这个方法,于是观察了一番官方文档发现得对node用setSelected方法。

单击单元格确实可以实现选中效果,并触发了onSelectionChanged方法,但是会触发两次、、没搞清楚是为什么,于是就又看了看官方文档,发现enableClickSelection 这个属性,最后成功实现:

<AgGridVueWrap class="table ag-theme-balham" :columnDefs="columns" @sort-changed="sortChanged"
            @selection-changed="onSelectionChanged" multiSortKey="ctrl" serverSideSortOnServer="true"
            enableClickSelection="true" :suppressRowClickSelection="false" :rowData="tableData" v-loading="loading"
            rowSelection="multiple" border :style="{ width: '100%', height: tableHeight }">                        
        </AgGridVueWrap>

注:如果有设置suppressRowClickSelection,需要修改为false

suppressRowClickSelection:设置为true时禁止通过click选中行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值