Ag grid 如何将菜单按钮添加到ag网格行?

Ag grid 如何将菜单按钮添加到ag网格行?,ag-grid,ag-grid-vue,Ag Grid,Ag Grid Vue,我正在使用ag Grid Enterprise Vue 我了解了如何通过右键单击任何单个单元格来启用“上下文菜单” 相反,我希望有一个特殊的列(右边)有一个按钮(可能看起来像⚙或…),左键单击可打开菜单 我怎样才能实现这一点?我在文档中没有找到任何示例 是一个类似的问题,但没有答案。从这个ag grid enterprise问题上,我能够给出一个例子,我认为这对我的情况是有效的 有关守则如下: var gridOptions = { columnDefs: columnDefs,

我正在使用ag Grid Enterprise Vue

我了解了如何通过右键单击任何单个单元格来启用“上下文菜单”

相反,我希望有一个特殊的列(右边)有一个按钮(可能看起来像
),左键单击可打开菜单

我怎样才能实现这一点?我在文档中没有找到任何示例

是一个类似的问题,但没有答案。

从这个ag grid enterprise问题上,我能够给出一个例子,我认为这对我的情况是有效的

有关守则如下:

var gridOptions = {
    columnDefs: columnDefs,
    enableRangeSelection: true,
    getContextMenuItems: getContextMenuItems,
    allowContextMenuWithControlKey: true,
    onCellClicked: params => {
        console.log(params);
        if(params.column.colDef.field === '...'){
            params.api.contextMenuFactory.showMenu(params.node, params.column, params.value, params.event)
        }
    },
    onCellContextMenu: params => {
        params.api.contextMenuFactory.hideActiveMenu()
    }
};

function getContextMenuItems(params) {
    console.log('getContextMenuItems', params);
    const node = params.node;
    console.log('node.id, node.rowIndex, node.data', node.id, node.rowIndex, node.data);
    var result = [
        {
            name: `Alert 'Row ${node.rowIndex + 1}'`,
            action: function() {
                window.alert(`Row ${node.rowIndex + 1}`);
            },
            cssClasses: ['redFont', 'bold']
        },
        'separator',
        {
            name: 'Checked',
            checked: true,
            action: function() {
                console.log('Checked Selected');
            },
            icon: '<img src="../images/skills/mac.png"/>'
        }, 
        'copy' // built in copy item
    ];

    return result;
}
var gridOptions={
columnDefs:columnDefs,
enableRangeSelection:true,
getContextMenuItems:getContextMenuItems,
allowContextMenuWithControlKey:true,
onCellClicked:params=>{
控制台日志(params);
如果(params.column.colDef.field==='…'){
params.api.contextMenuFactory.showMenu(params.node、params.column、params.value、params.event)
}
},
onCellContextMenu:params=>{
params.api.contextMenuFactory.hideActiveMenu()
}
};
函数getContextMenuItems(参数){
log('getContextMenuItems',params);
const node=params.node;
日志('node.id,node.rowIndex,node.data',node.id,node.rowIndex,node.data);
var结果=[
{
名称:`Alert'行${node.rowIndex+1}`,
行动:功能(){
alert(`Row${node.rowIndex+1}`);
},
cssClasses:['redFont','bold']
},
“分隔符”,
{
名称:'已选中',
核对:对,
行动:功能(){
console.log('Checked Selected');
},
图标:“”
}, 
“复制”//内置复制项
];
返回结果;
}