vue+elementUI 展开折叠搜索框

<template>
    <div class="left">
        <el-form id="elForm" :inline="true" :model="formInline" class="demo-form-inline">
            <el-form-item label="审批人1">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人2">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人3">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人4">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人5">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人6">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人7">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item label="审批人8">
                <el-input v-model="formInline.user" placeholder="审批人"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">查询</el-button>
                <el-button type="primary" @click="expandFoldSearchForm">展开/折叠</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>
 
<script>
export default {
  data() {
    return {
       formInline: {},
        isFold:false
    };
  },
  methods: {
    expandFoldSearchForm(){
        this.isFold = !this.isFold;
        let node = document.getElementById('elForm');
        
        let child = node.children;
        if(this.isFold){
            let w = node.offsetWidth;
            let m = node.lastElementChild.offsetWidth + getMargin(node.lastElementChild)
            
            let aw =  w - m,cw = 0 
            for (let i = 0; i < child.length-1; i++) {
                let c = child[i]
                cw += c.offsetWidth + getMargin(c)
                if(aw < cw){
                    c.style.display = 'none'
                }   
            }
        }else{
            for (let i = 0; i < child.length-1; i++) {
                child[i].style.display = ''
            }
        }
        function getMargin(n){
            let style = getComputedStyle(n)
            let m = style.marginRight.slice(0, -2)*1 + style.marginLeft.slice(0, -2)*1
            return m 
        }
    }
  }
}
</script>
<style scoped>
.left{
    padding: 50px;
}
</style>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值