我們很多時候需要用到列表點擊其中的某個有相對的事件發生,那就拿用到$(this),但是在vue里面,直接寫$(this)獲取不到指定的元素,所以我就用的下面這種寫法
<div v-for="(item,i) of entity.dayTaskMatters" class="checkItem" @mouseenter="showRemove($event)" @mouseleave="hideRemove($event)"> <div style="display: flex;"> <el-input class="chkName" v-model="item.name" placeholder="請輸入檢查項" :id="chenkTitleId(i)"></el-input> <el-input class="chkRemark" v-model="item.remark" placeholder="請輸入任務描述" :id="checkRemarkId(i)"></el-input> <i class="fa fa-trash-o remove" aria-hidden="true" @click="removeItem(i,item.id)"></i> </div> </div>
這里是鼠標移入某一行,這行顯示刪除按鈕<i></i>鼠標移出,刪除按鈕隱藏
// 顯示刪除按鈕 showRemove(event) { let target = event.target $(target).children().children('.remove').show() }, // 隱藏刪除按鈕 hideRemove(event) { let target = event.target $(target).children().children('.remove').hide() },
這里我們通過$event來確定指定項,聲明一個變量,這里的$(target)就相當於$(this)了,