vue同个按钮控制展开和折叠同个事件操作

时间:2021-05-26

我就废话不多说了,大家还是直接看代码吧~

<el-button :icon="!moreshow?'el-icon-arrow-down':'el-icon-arrow-up'" @click="getmoreshow">{{!moreshow?更多:隐藏}}</el-button>

data() { return { moreshow:false, count:1, }}mounted() { this.getmoreshow()//避免点击两次才生效},methods: { getmoreshow(){ if(this.count%2==0){ this.moreshow=true }else{ this.moreshow=false } this.count++ },}

补充知识:vue 可折叠面板的工作区组件

这个组件中使用了elementui的两个图标

组件Js:

Vue.component('work-container', { props: ['height'], data: function () { return { isCollapse: false } }, computed: { topbarcssobj: function () { var obj = { padding: '3px' }; if (this.isCollapse) { obj.display = 'none'; } else { obj.display = 'block'; if (this.height) { obj.height = this.height + 'px'; } else { obj.height = '40px'; } } return obj; }, btniconcssobj: function () { return this.isCollapse ? 'el-icon-caret-bottom' : 'el-icon-caret-top'; }, strview: function () { return this.isCollapse ? '显示' : '隐藏'; } }, methods: { togglebar: function () { this.isCollapse = !this.isCollapse; } }, template: '<el-container>\ <el-header v-bind:style="topbarcssobj">\ <slot name="tbar"></slot>\ </el-header>\ <el-main>\ <div style="margin:3px;">\ <div style="float:left;margin-right:10px;cursor:pointer;color: #d3dce6;display:none;" v-on:click="togglebar">\ <i v-bind:class="btniconcssobj">{{strview}}查询条件</i>\ </div>\ <div>\ <slot name="btn"></slot>\ </div>\ </div>\ <div>\ <slot name="work"></slot>\ </div>\ </el-main>\ </el-container>'});

调用:

<script src="~/Scripts/vue/workcontainer.js"></script> <work-container v-bind:height="80"> <template v-slot:tbar> <spec-combo v-on:selectspec="setSpec"></spec-combo> <ban-input v-on:selectban="setBan"></ban-input> <grade-input v-on:selectban="setGrade"></grade-input> </template> <template v-slot:work> {{spec}} {{ban}} {{grade}} </template> </work-container>

以上这篇vue同个按钮控制展开和折叠同个事件操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章