首页 > 其他分享 >vue iview render函数渲染table表头和列表内容

vue iview render函数渲染table表头和列表内容

时间:2023-05-26 11:12:46浏览次数:42  
标签:vue return render connectstr 表头 params props row

  1 computed:{
  2   tableColumns(){
  3     return [
  4       {
  5         title: "封面",
  6         key: "pageImage",
  7         render: (h, params) => {
  8           return h("img", {
  9             style: {
 10               height: "40px"
 11             },
 12             domProps: {
 13               src: params.row.pageImage
 14             },
 15             on: {
 16               click: () => {
 17                 this.$refs.preview.imgDetail(params.row.pageImage)
 18               },
 19             }
 20           });
 21         },
 22       },
 23       {
 24         title: "内容",
 25         key: "model",
 26         render: (h, params) => {
 27           let connects = params.row.connects;
 28           let connectstr = '';
 29           let texts = '';
 30           if(connects.length > 0){
 31             connects.forEach(item => {
 32               connectstr += item.connect + "<br />"
 33             })
 34           }
 35           if(connectstr.length > 5){
 36             texts = connectstr.slice(0,5)+'...'  //进行数字截取
 37           }else{
 38             texts = connectstr
 39           }
 40           return h('div', [
 41             h('Tooltip', {
 42               props: {
 43                   placement: 'top',
 44                   transfer: true
 45               }
 46               },[texts,h('span',{
 47                   slot:'content',
 48                   style:{
 49                     whiteSpace:'normal'
 50                   },
 51                   domProps:{
 52                     innerHTML:connectstr
 53                   }
 54               })
 55             ])
 56           ])
 57         }
 58       },
 59       {
 60         title: '状态',
 61         key: 'status',
 62         minWidth: 120,
 63         render: (h, params) => {
 64           return h('i-switch', {
 65             props: {
 66               size: 'large',
 67               value: params.row.enableStatus ? true : false,
 68               // beforeChange:this.handleBeforeChange
 69             },
 70             on: {
 71               'on-change': (val) => {
 72                 console.log('on-change',val);
 73                 this.toggleStatus(params.row);
 74               },
 75             }
 76           }, [
 77             h('span', { slot: 'open' }, '启用'),
 78             h('span', { slot: 'close' }, '禁用'),
 79           ]);
 80         },
 81       },
 82       {
 83         slot:'action',
 84         renderHeader: (h, params) => {
 85           return h('Tooltip', {
 86             props: { 
 87               placement: 'top',
 88               transfer:true,//首先提示框一直被th遮挡,添加此属性后就不在被遮挡
 89             'max-width':"300",//设最大宽度,添加此属性后文字太长会换行,否则浮窗里只会显示一些文字,多余的文字在浮窗外且看不见
 90         }
 91        }, [
 92           h('span', [
 93             h('span', '操作'),
 94             h('Icon', {
 95               props:{
 96                 type:'ios-information-circle',
 97                 size:'20'
 98               },
 99               style:{
100                 verticalAlign: 'middle',
101                 color:'#515a6e'
102               },
103             })
104           ]),
105           h('span', {
106               slot: 'content',
107             }, '鼠标移入时显示提示信息')
108           ])
109         },
110         tooltip: true,
111         fixed: 'right',
112         width: 300,
113         render: (h, params) => {
114           return h('div', [
115             h('Button', {
116               props: {
117                 type: 'text',
118                 size: 'small',
119               },
120 
121               on: {
122                 click: () => {
123                   this.edit(params.row);
124                 },
125               },
126             }, '编辑'),
127             h('Button', {
128               props: {
129                 type: 'text',
130                 size: 'small',
131               },
132 
133               on: {
134                 click: () => {
135                   this.delete(params.row);
136                 },
137               },
138             }, '删除')
139           ]);
140         },
141       },
142     ]
143   }
144 },

 

标签:vue,return,render,connectstr,表头,params,props,row
From: https://www.cnblogs.com/ysx215/p/17434195.html

相关文章

  • vue中离线使用阿里巴巴图标库iconfont
    1.打开iconfont阿里巴巴官网https://www.iconfont.cn2.新建项目(这样方便后期维护图标库) image.png3.把需要的图标添加到购物车 image.png4.打开购物车并选择添加至项目,然后确定 image.png5.这时候可以在项目中看到你选中的svg图标,这时候可以点击下载至本地 image.png6.打开下......
  • Springboot+Vue集成个人中心、修改头像、数据联动、修改密码
    源码:https://gitee.com/xqnode/pure-design/tree/master学习视频:https://www.bilibili.com/video/BV1U44y1W77D开始讲解个人信息的下拉菜单:<el-dropdownstyle="width:150px;cursor:pointer;text-align:right"><divstyle="display:inline-block">......
  • 解决vue3自动引入element-plus后eslint警告
    配置vue.config.js......module.exports=defineConfig({......configureWebpack:{plugins:[AutoImport({resolvers:[ElementPlusResolver()],eslintrc:{enabled:true,filepath:"./.eslintrc-auto......
  • Vue2路由嵌套是注意子路由path问题
    1、当子路由以/开始时,它会被视为根路由,并且会显示在URL的根路径中2、当子路由不以/开始时,它将被视为相对路径,相对于父路由的路径......
  • Vue CLI配置
    全局安装首先配置淘宝镜像cmd打开,输入npmconfigsetregistryhttps://registry.npm.taobao.org 安装命令npminstall-g@vue/cli发现报错如下,没有权限!!使用管理员模式。 重新开始,完美!! 然而输入查看vue 发现错误信息:系统禁止运行脚本接下来参考文章进行解除进......
  • vue3组件间通信
    props父子组件之间通信最好的方式//父组件<template><divclass="box"><h1>props:这里是父组件</h1><hr/><Child:money="money"></Child></div></template><scriptsetuplang="......
  • FLEX4实践—动态生成DataGrid及应用客户化itemRenderer
    应用场景:1)从后台取到的数据为数组类型,但数据的列名及列个数均是动态的2)抽取到的数据中有些是DATE类型的,如果直接显示在DataGrid中默认格式很难让用户接受,希望对特殊类型的数据(如日期)进行格式转换处理 下面的例子将模拟这一场景:数据准备:gridColumns1搭配gridProvider1,gridColumns2......
  • vue遇到的问题
     这个是eslint的报错,严格模式下的话不会允许未使用的字段存在两个解决方案,要么把定义但是没用到的东西输出(console.log(参数)),要么就关闭严格模式 项目下看看有没有.eslintrc.js文件把这个配置改一下然后重新运行一下 没有这个文件的话就找找package.json里面的eslint配......
  • vue3+vite build打包删除控制台打印
    很简单,直接在vite.config.ts里面添加配置即可:exportdefault({mode})=>defineConfig({build:{minify:"terser",terserOptions:{compress:{//生产环境时移除consoledrop_console:true,drop_debugger:true,......
  • vue列表逐个进入过渡动画
    vue列表逐个进入过渡动画vue2,vue3,通过vfor产生列表,使子元素逐个进入效果文章详情:https://www.cnblogs.com/Llshy/articles/17430695.html......