给多个元素绑定点击事件,点击让最后一个子元素显示隐藏,怎么获取到子元素呢?
<view class="search-item" v-for="(item, index) in patientJson" :key="item.text" @click="clickItem" :data-id="index">
<view class="search-item-text">{{item.text}}view>
<span class="search-item-num">{{item.value}}span>
<view class="search-item-unit">{{item.unit}}view>
<ul class="select-ul" v-show="showUl" :id="index">
<li v-for="(u, i) in item.child" :key="u.text" :data-name="u.text">{{u.text}}li>
ul>
view>
// 点击项目
clickItem(e){
console.log(e.target)
console.log(e.currentTarget.dataset.id)
console.log(e.currentTarget);
console.log(e.childElementCount);
// if(this.showUl == false){
// this.showUl = true
// } else {
// this.showUl = false;
// }
// console.log(this.showUl)
// #ifdef H5
// #endif
}
如果只是想隐藏最后一个元素的话不用操作dom节点
1.给patientJson数组中的每条数据里添加一个showUi字段
2.给最后一个元素添加 v-show=’item.showUi‘
3.点击父节点的时候改变当前的showUi item.showUi = !item.showUi
event.currentTarget
//注释的showUl 放开吧,改下模板就行
<li v-for="(u, i) in item.child" v-if="i !== item.child.length-1 || showUrl" :key="u.text" :data-name="u.text">{{u.text}}</li>