具体代码如下所示: templatedivtabletr v-for="item in tableData" :value="item.value" :key="item"tddivtemplate{{item.id}}/template/div/tdtddiv @mouseover="mouseenterHander(item.id)" @mouseout="mouseoutHander(item.id)"templatetemplate
具体代码如下所示:
<template> <div> <table> <tr v-for="item in tableData" :value="item.value" :key="item"> <td> <div> <template> {{item.id}} </template> </div> </td> <td> <div @mouseover="mouseenterHander(item.id)" @mouseout="mouseoutHander(item.id)"> <template> <template> {{item.name.substr(0, 8)}} </template> <template v-if="item.name.length > 8"> ... </template> </template> </div> <div class="dpop" title="弹框" v-if="item.showFullName"> <template> {{item.name}} </template> </div> </td> </tr> </table> </div> </template> <script> const tableData= [ { id: 10, name: '欧美当地时间9月5日一早,大量网友纷纷反馈雅虎网站宕机,连带雅虎的邮件、搜索等服务也不可用。', showFullName: false, }, { id: 20, name: '从地域分布看,欧洲是雅虎本次宕机故障的重灾区,尤其是法国、西班牙、英国、意大利等,还有美国东西部、新加坡、印度、菲律宾等地,我国主要集中在广州、台北及附近地区。 目前,雅虎尚未发表任何公开声明。', showFullName: false, } ] ; export default { data() { return { tableData } }, methods: { say: function (message) { alert(message) }, mouseenterHander(id) { tableData.forEach(ele => { if(ele.id == id) { ele.showFullName = true } }); }, mouseoutHander(id) { tableData.forEach(ele => { if(ele.id == id) { ele.showFullName = false } }); } } } </script> <style scoped> .dpop{ position:absolute; z-index:3; border:1px dashed #EEF; background:#EEE; } </style>
总结
以上所述是小编给大家介绍的使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易盾网络网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!