记录一下iview中Row/Col组件的报错

文章讨论了一个在删除Col组件时遇到的问题,当Col组件被全部清除后,会导致程序出错。作者检查了源码,发现更新Gutter的函数在寻找Col组件时存在问题。解决方案是通过v-if判断,在Col组件为空时连同Row组件一起删除,避免错误发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 大概功能为动态的删除Row组件中的Col组件,当Col组件被清空的时候,就会出现如上报错,翻阅源码,发现如下问题:

    updateGutter(val) {
        // 这里会嵌套寻找,把 Col 里的 Row 里的 Col 也找到,所以用 兄弟找
        //                const Cols = findComponentsDownward(this, 'iCol');
        const Col = findComponentDownward(this, 'iCol')
        const Cols = findBrothersComponents(Col, 'iCol', false)
        if (Cols.length) {
            Cols.forEach(child => {
                if (val !== 0) {
                    child.gutter = val
                }
            })
        }
    }

在这个函数中:

当 const Col = findComponentDownward(this, 'iCol')
返回的Col 为空时就报错了

解决办法,利用v-if判断,当Col组件为空时,把Row组件也一起删除即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值