要在agGrid的上下文菜单中添加“复制”菜单项,您可以使用ag-Grid的getContextMenuItems
回调函数来自定义上下文菜单项。下面是一个示例代码:
var gridOptions = {
// 其他的gridOptions配置项...
// 自定义上下文菜单项
getContextMenuItems: function(params) {
var defaultItems = params.defaultItems; // 获取默认的菜单项
var result = [];
// 复制菜单项
var copyItem = {
name: 'Copy',
action: function() {
var selectedData = params.api.getSelectedRows();
var selectedText = selectedData.map(function(item) {
return item.yourColumn; // 将yourColumn替换为实际的列名
}).join(', ');
// 将选中的文本复制到剪贴板
navigator.clipboard.writeText(selectedText).then(function() {
console.log('Text copied to clipboard');
}, function(err) {
console.error('Error copying text to clipboard: ', err);
});
},
icon: '' // 可选的图标
};
// 将默认的菜单项和自定义的复制菜单项添加到结果中
result.push(copyItem);
result.push('separator'); // 可以添加一个分隔符
// 添加默认的菜单项
result = result.concat(defaultItems);
return result;
}
};
// 创建grid实例
var grid = new agGrid.Grid(gridDiv, gridOptions);
请注意,上述代码中的yourColumn
需要替换为您实际使用的列名,以便从选中的行数据中获取相应的文本。
此外,如果要使用图标,请确保您的项目中引入了相应的图标库。上述示例使用了Font Awesome图标库的far fa-copy
图标。如果您使用其他图标库,请将icon
属性中的HTML代码替换为相应的图标类。
希望这可以帮助到您!