vue 可折叠面板的工作区组件

7 篇文章 0 订阅

这个组件中使用了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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值