小编这次要给大家分享的是vue如何实现同个按钮控制展开和折叠同个事件,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
我就废话不多说了,大家还是直接看代码吧~
<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:>\ <slot name="tbar"></slot>\ </el-header>\ <el-main>\ <div >\ <div 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如何实现同个按钮控制展开和折叠同个事件的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。