iView组件中,折叠面板Collapse点击面板标题部分,会出现面板收起或展开的效果。那么在面板标题后面再添加下拉框之类的组件时,会出现跟面板点击一样的效果,这时候就需要阻止冒泡的用法了。具体代码:
<!-- 折叠面板组件on-change事件即可获得当前展开面板的值,value即为默认面板的值,可绑定变量值,accordion选项即一次只能展开一个面板 -->
<Collapse @on-change="panelChange" :value="list[0].code" accordion>
<!-- 折叠面板组件需要给每个Panel一个特定的name值,防止展开收起时操作有误 -->
<Panel v-for="(item, index) in list" :key="item.code" :name="item.code">
{{ item.name }} <!-- 以下div的click事件即为阻止冒泡,div的内容即为在标题上添加的组件 -->
<div @click.stop.prevent="() => {}"> </div>
<div p="slot">
<!-- 面板内部内容 -->
</div>
</Panel>
</Collapse>
<script>
export default {
data() {
return {
list: [{
code: '1',
name: '折叠面板1'
}, {
code: '2',
name: '折叠面板2'
}, {
code: '3',
name: '折叠面板3'
}];
}
},
methods: {
panelChange(keyList) { //获取当前展开面板的值
console.log(keyList);
}
}
}
</script>