色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue hover刪除

黃文隆2年前9瀏覽0評論

Vue中有時候需要在hover時刪除元素,我們可以利用Vue提供的指令來實現這個功能,下面是一個簡單的示例:

<template>
<div>
<ul>
<li v-for="item in items" v-bind:key="item.id" v-on:mouseenter="hoverItem(item.id)" v-on:mouseleave="cancelHover">
{{ item.name }}<i v-if="item.hovered" v-on:click="deleteItem(item.id)" class="hover-delete-icon">x</i>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
items: [
{
id: 1,
name: "Item 1",
hovered: false
},
{
id: 2,
name: "Item 2",
hovered: false
},
{
id: 3,
name: "Item 3",
hovered: false
}
],
hoveredItemId: null
};
},
methods: {
hoverItem(id) {
this.hoveredItemId = id;
this.items.forEach(item =>{
if (item.id === id) {
item.hovered = true;
}
});
},
cancelHover() {
this.hoveredItemId = null;
this.items.forEach(item =>{
item.hovered = false;
});
},
deleteItem(id) {
const index = this.items.findIndex(item =>item.id === id);
this.items.splice(index, 1);
}
}
};
</script>

在這個示例代碼中,我們綁定了mouseenter和mouseleave事件來監聽鼠標是否hover在元素上,同時使用v-if指令來判斷元素是否被hover。當元素被hover時,我們通過hoverItem方法將對應元素的id保存到hoveredItemId中,并將對應元素的hovered屬性設置為true,此時X按鈕會顯示出來;當鼠標離開元素時,我們將hoveredItemId重置為null,同時將所有元素的hovered屬性設置為false,隱藏所有的X按鈕。當點擊X按鈕時,我們通過deleteItem方法從數組中移除對應的元素。