a-table 每一列都加上 鼠标放上会提示 并且提示框上有复制按钮 vue2 代码
时间: 2024-09-14 22:02:53 浏览: 38
在Vue2中,你可以使用Element UI(一个基于Vue 2.0的桌面端组件库)来实现这样的功能。以下是一个简单的例子,展示了如何使用Element UI中的`el-table`组件为每一列添加鼠标悬停提示(Tooltip)和复制按钮:
首先,你需要安装Element UI库:
```bash
npm install element-ui --save
```
然后,在你的Vue组件中引入并注册Element UI组件:
```javascript
import Vue from 'vue';
import { Table, Tooltip, Button } from 'element-ui';
Vue.use(Table);
Vue.use(Tooltip);
Vue.use(Button);
```
接下来,你可以在你的模板中这样使用:
```html
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="date" label="日期" width="180">
<template slot-scope="scope">
<el-tooltip effect="dark" :content="scope.row.date">
<span>{{ scope.row.date }}</span>
<el-button type="text" size="mini" @click="copy(scope.row.date)">复制</el-button>
</el-tooltip>
</template>
</el-table-column>
<!-- 重复上述步骤为其他列添加Tooltip和复制按钮 -->
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [{
date: '2016-05-02',
// 其他列数据...
}, {
date: '2016-05-04',
// 其他列数据...
}]
}
},
methods: {
copy(text) {
let input = document.createElement('input');
document.body.appendChild(input);
input.value = text;
input.select();
document.execCommand('Copy');
document.body.removeChild(input);
this.$message.success('复制成功');
}
}
}
</script>
```
在这个例子中,我们使用了`el-table-column`的`slot-scope`插槽来定义每一列的自定义模板。在模板中,我们使用了`el-tooltip`组件来添加提示框,并在提示框中添加了一个`el-button`作为复制按钮。点击复制按钮时,会触发`copy`方法,该方法将文本复制到剪贴板,并显示一个消息提示复制成功。
阅读全文