使用VUE實現在table中文字信息超過5個隱藏,鼠標移到時彈窗顯示全部
<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>