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

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

<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>
1
2
3
4
5
6
7
8
9
10
编辑器提示: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

修改后:

<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>
1
2
3
4
5
6
7
8
9
10
11
即使用template标签包裹即可,v-for 写在template 上,v-if 绑定在需要循环的元素之上即可
---------------------

原文地址:https://www.cnblogs.com/liyanyan665/p/11192635.html

时间: 2024-08-29 15:24:38

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

element-ui中table渲染的快速用法

element-ui中对table数据的渲染有一些模板式的操作,基本按照模板渲染数据即可 基本模板样式如下 <el-table :data="studentData.rows" style="width: 100%" stripe :header-cell-style="{background:'#e1e4eb'}" > <el-table-column prop="studentName" label=&q

React中循环渲染类似Vue中 的v-for

17==>循环数组 类似v-for import React, { Component } from "react"; export default class CharShop extends Component { // state初始化一般写在构造器当中 constructor(props){ super(props); this.state={ goods: [ { id: 1, text: "web111" }, { id: 2, text: &qu

详解Vue Elementui中的Tag与页面其它元素相互交互的两三事

前言 公司系统在用elementui做后台开发,不免遇到一些需要自己去根据原有的功能上,加一些交互的功能.今天来介绍下我在用elementUi里的Tag标签与多选框交互的过程,东西听上去很简单,但就是越简单的东西越容易出一些问题.官方tag文档:elementUi-tag标签 效果图: 前端精品教程:百度网盘下载 思路 一.多选框勾选,出现对应的tag: 1.利用watch监听多选框绑定的值A(数组)的变化:2.根据A的变化,循环拿到勾选多选框的id对应的name,将id以及对应的name组成新

关于vue.js中列表渲染练习

html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>列表渲染</title></head><body> <!-- v-for可以将一组数组渲染到列表当中 --> <!-- 以item in items的形式 其中 items是源数据 item是他的别名 --&

关于vue.js中条件渲染的联系

html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>条件渲染</title></head><body> <!-- v-if 作为判断条件 如果满足则展示它所附着的元素的内容--> <!-- 除了v-if 还可以配合使用v-else--> <div

vue项目中v-for渲染失败

在项目中,v-for渲染列表失败,无报错,数组有数据.上网查,好多说是因为动态绑定class的原因,但是经过几番测试,都无效果. 在经过不断尝试,搜索,终于找到原因所在. 问题原因:在v-for循环中,如果我们在函数中改变了item中的值,在console.log()中查看是修改成功了,但在页面中没有及时刷新改变后的值. 解决方法:使用vue自带的 this.$forceUpdate() 迫使 Vue 实例重新渲染.注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件. 但是目前具体原

vue + elementui 中的弹窗组件封装成公共组件

如果一个弹窗比较简单,可以直接放在页面中,通过visible属性的true,false控制显示隐藏就可以了,我们今天要说的是将个比较复杂的弹窗组件封装成全局组件,然后可以在项目中的任何一个页面引用~~下面走起 1.首先要注册个全局组件,用下面的全局API  Vue.component('my-component', { /* ... */ }) 在js文件中首先引入这个弹窗组件,组件名称是iesPersonRadioDialog,项目中会引入一个js文件,这个js文件中在分别引入其他的js,模块

vue+iview中的table表格导出excel表格

一.iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件. 二.实现table表格导出excel文件利用Blob.js 和 Export2Excel.js两个文件实现 1.Blob.js 和 Export2Excel.js文件 链接:https://pan.baidu.com/s/1PvP-NxmONNh71SRDvlL_9A 密码:3h82 2.把Blob.js 和 Export2Excel.js文件添加到src文件夹

vue.js中如何渲染本地数据库中的图片

// 带参数传值 <router-link :to="{'name':'foot',params:{'id':scene_list.id}}">本地美食</router-link> <template> <div> <h1>美食</h1> <table border="1"> <tr> <td>美食</td> <td>美食图片</