vue中给v-for循环出来的元素绑定不同的事件
html:
<div style="padding: 0 5px;" @click="handler(item.fun)" v-for="(item, index) in iconData" :key="index">
<i class="iconfont iconHover" :class="item.icon" :title="item.title"></i>
</div>
js:
iconData: [
{ icon: 'iconquanxuan', title: '全选', fun: 'checkAll' },
{ icon: 'iconfanxuan', title: '反选', fun: 'toggleAll' },
{ icon: 'iconzhongzhi', title: '重置', fun: 'cancleAll' }
]
handler(fun) {
this[fun]()
},
checkAll() {
this.checkedList = [...this.Options]
viewer.bimAdmin.tools['Bim.TilesetModelList'].toggleAllOff()
},
cancleAll() {
this.checkedList = []
viewer.bimAdmin.tools['Bim.TilesetModelList'].toggleAllOn()
},
toggleAll() {
//反选
this.checkedList = this.Options.filter(a => this.checkedList.indexOf(a) === -1)
viewer.bimAdmin.tools['Bim.TilesetModelList'].toggleAll()
},