v-for和v-if一起使用时的坑:The 'XXX' expression inside 'v-for' directive should be replaced with a computed property that returns filtered array instead. You should not mix 'v-for' with 'v-if'

目的:Vue - ElementUI中循环渲染表格,控制字段的显示与隐藏 v-if与v-for同时使用。

在Vue中使用v-for循环一个数组/对象时,如果再使用v-if,那么会提示使用计算属性(能正常使用),因为Vue中是不提倡v-forv-if同时使用的。
在我的项目中也遇到了问题,不过翻看文档解决了。修改前:

1
2
3
4
5
6
7
8
9
10
<el-table-column
    v-for="(item, index) in columns"
    :prop="item.prop"
    :key="index"
    align="center"
    :width="item.width"
    :label="item.label"
    v-if="item.show"
>
></el-table-column>

编辑器提示:vue/no-use-v-if-with-v-for] The 'columns' variable inside 'v-for' directive should be replaced with a computed property that returns filtered array instead. You should not mix 'v-for' with 'v-if'.eslint-plugin-vue

修改后:

1
2
3
4
5
6
7
8
9
10
11
<template v-for="(item, index) in columns">
    <el-table-column
        :prop="item.prop"
        :key="index"
        align="center"
        :width="item.width || '' "
        :label="item.label"
        v-if="item.show"
    >
    </el-table-column>
</template>

  即:使用template标签包裹即可,v-for 写在template 上,v-if 绑定在需要循环的元素之上即可

 

原文链接:Vue - ElementUI中循环渲染表格,控制字段的显示与隐藏 v-if与v-for同时使用

其它链接:

1、v-for和v-if一起使用时的坑

2、v-for和v-if一起使用时的坑

posted @   rainbow70626  阅读(3477)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2019-01-22 Qt中静态变量使用方法
点击右上角即可分享
微信分享提示