Vue Element-UI 使用v-for设置动态表头,formatter进行数据展示格式化

这篇具有很好参考价值的文章主要介绍了Vue Element-UI 使用v-for设置动态表头,formatter进行数据展示格式化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue + Element-UI 操作

element-ui 官网的 table 比较繁琐需要写很多 <el-table-column> 标签 我们巧用vue的 v-for 循环进行简化代码 话不多说直接开演!!!

<template>
<!-- 这里使用容器 el-main 包一下 -->
	<el-main>
	<!-- :data绑定我们的表单数据 , row-key:行数据的 Key,用来优化 Table 的渲染 -->
		<el-table :data="dataSource" :stripe="true" row-key="id">
			<!-- 使用 v-for 循环 表头数据 columns  获取 对象 item 和 下标index 动态绑定 key, label 显示我们定义的标签 
			再来一个动态的 width 宽度 绑定数据prop :prop="item.value"  :formatter用来格式化我们需要展示的内容-->
			<el-table-column v-for="(item,index) in columns" :key="index" :label="item.label" :width="item.width"
          :prop="item.value" :formatter="item.formatter">
			</el-table-column>
			<el-table-column label="操作">
          		<template slot-scope="scope">
            		<el-button @click="editClick(scope.row)" type="text" size="small">编辑</el-button>
            		<el-popconfirm confirm-button-text='确定' cancel-button-text='取消' icon="el-icon-info" icon-color="red" title="确定删除?" @confirm="deletlClick( scope.row)">
              			<el-button slot="reference" type="text">删除</el-button>
            		</el-popconfirm>
          		</template>
        	</el-table-column>

		</el-table>
	
	</el-main>
</template>

<script>
	data() {
    	return {
        	columns: [{
        		label: '图书名称',	
            	value: 'name',
            	// width: 300,
          	},
          	{
            	label: '图书类型',
            	value: 'type',
            	// width: 300,
          	}],
          	
        	dataSource: [{
	            id: "1557631065907138560",
	            name: "斗破苍穹",
	            type: '11223445566'
	           
	          },
	          {
	            id: "1557631078116757504",
	            name: "朝花夕拾1",
	            type: '77885223345'
	          }
        	],
      	}
    }
</script>

此时我们table展示的样式如下

elementui表格表头怎么动态改变,vue.js,ui,javascript
我在 src/components/dict 下面建立一个 Dic.js 文件写上一个方法

elementui表格表头怎么动态改变,vue.js,ui,javascript

export function getData(code) {
    // 假数据 
  let typeDataList = [{
      id: '11223445566',
      name: '小说'
    },
    {
      id: '77885223345',
      name: '文学'
    },
  ]
  for(let i = 0; i < typeDataList.length; i++){
    if(code == typeDataList[i].id){
        return typeDataList[i].name;
    }
  }
  return null;
}



在组件里面引用 elementui表格表头怎么动态改变,vue.js,ui,javascript
在我们需要格式化的 columns 添加 formatter


<script>
	data() {
    	return {
        	columns: [{
        		label: '图书名称',	
            	value: 'name',
            	// width: 300,
          	},
          	{
            	label: '图书类型',
            	value: 'type',
            	formatter: function (row, column, cellValue, index) {
            		// 这里使用Dic.js 的getData方法传入这一列显示的值 
              		console.log(getData(cellValue)); // 11223445566 所对应 小说
              		console.log(row); // dataSource 每一行的对象
              		console.log(column); // column 这一列的对象
              		console.log(cellValue); // type对应的值 例如: 11223445566
              		console.log(index); // 下标
              		return getData(cellValue); 
            	}
            	// width: 300,
          	}],
          	
        	dataSource: [{
	            id: "1557631065907138560",
	            name: "斗破苍穹",
	            type: '11223445566'
	           
	          },
	          {
	            id: "1557631078116757504",
	            name: "朝花夕拾1",
	            type: '77885223345'
	          }
        	],
      	}
    }
</script>

最终的显示效果如下

elementui表格表头怎么动态改变,vue.js,ui,javascript文章来源地址https://www.toymoban.com/news/detail-568890.html

到了这里,关于Vue Element-UI 使用v-for设置动态表头,formatter进行数据展示格式化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element-ui table 指定单元格动态字体颜色设置

    element-ui table 指定单元格动态字体颜色设置 根据后端返回的值,动态的自动变更element-ui table 指定单元格的字体的颜色或者整行的颜色值 显示效果 去掉:  columnIndex === 4 即不指定某个单元格

    2024年02月16日
    浏览(45)
  • Vue中使用element-ui el-dialog弹窗最大化还原,拖拽,动态改变大小

    创建对应的js文件   先在指定稳定文件创建js文件,如src下创建diaLog.js文件,部分会提示红色爆红,可以不予理会,可以根据需求修改,如:弹框可拉伸最小宽高。   2. 在main.js的引用   同时为了防止冲突,需要关闭closeOnClickModal(弹窗默认点击遮罩改为不关闭),并添加标签

    2024年02月11日
    浏览(53)
  • vue:element-ui表单动态验证规则

    实现当是否发送消息选择是时,业务类型字段必填。 当你在一个表单中使用 el-form 和 el-form-item 来创建表单项时, el-form-item 的 :rules 属性可以用来设置该表单项的验证规则。我们希望根据用户在 \\\"是否发送消息\\\" 这个表单项中的选择动态设置 \\\"业务类型\\\" 这个表单项的验证规则

    2024年01月23日
    浏览(47)
  • vue element-ui表格组件动态多级表头

    实际项目的需求,需要根据后端动态获取的方式来初始化表格的表头包含哪些信息,且有很多信息是有规律的,所以我们需要Element UI动态生成多级表头。需要的效果图如下: 由于统计维度是可变化的(它可以是省市也可以是区县),所以需要专门设置一个表格的数据来保存

    2024年02月10日
    浏览(55)
  • Vue+Element-UI el-form表单动态检验

    业务需求: 表单el-form 有一表单项:发布时间 ,有5个选项:今天、24小时、近3天、近7天和自定义时间,其中当选择自定义时间时,后面跟着的日期时间选择器是必填的,选中其他选项时则不需要。这就需要做到表单的动态检验。 最开始实现方式是在当前表单项中设置规则

    2024年02月11日
    浏览(57)
  • 使用Element-UI展示数据(动态查询)

    学习内容来源:视频P4 本篇文章进度接着之前的文章进行续写 精简前后端分离项目搭建 Vue基础容器使用 在官方文档中选择现成的组件,放在页面当中,比如是表格+分页形式,需要将两者包裹在一个大的div当中 修改表格组件的数据显示,以之前的图书为例 修改tableData内容

    2024年01月21日
    浏览(78)
  • VUE element-ui实现表格动态展示、动态删减列、动态排序、动态搜索条件配置、表单组件化。

        1、本组件支持列表的表头自定义配置,checkbox实现 2、本组件支持列表列排序,vuedraggable是拖拽插件,上图中字段管理里的拖拽效果 ,需要的话请自行npm install 3、本组件支持查询条件动态配置,穿梭框实现 https://download.csdn.net/download/askuld/88216937

    2024年01月16日
    浏览(61)
  • vue结合element-ui实现(按钮控制)动态增加减少input框功能。

    一、template部分 二、script部分 三、效果展示 这是初始页面  这是点击添加 这是删除的     四、详细说明 v-for=\\\"(item,index)in array\\\" :key = \\\"index\\\" 这个是重点!!! ! 通俗点将,就是用一个div(盒子)将input输入框包括起来,然后在div中使用 v-for=\\\"(item,index)in array\\\" :key = \\\"ind

    2024年02月12日
    浏览(60)
  • Vue+element-ui的el-cascader实现动态添加删除级联地点输入框

    实现省市区三级地点级联选择,可联想; 包括始发地点、途径地点、终止地点,始发地点、终止地点均为一个,途径地点可以没有也可以是多个; 用户可以动态添加/删除途径地点。 使用级联选择器Cascader需要的树形数据,前端请求到后端获取省市区数据并处理为elementui官网

    2024年02月04日
    浏览(51)
  • vue+element-ui input输入框设置属性type为number去除右边的上下按键

    当 input type=number 时,去掉后面的上下按钮 1.全局样式改变: 2.在style中使用的是vue+element,通常写当前页面的样式时使用scoped,防止篡改其他页面样式,但是这样会发现上面的代码失效,此时需要使用/deep/去寻找 【定义样式】去除表框、去除上下箭头、去除滚轮事件 3.在sty

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包