刚刚接触一个项目,一期使用的是iview,查看文档时发现并未介绍到render函数中类似createElement功能的用法,因此想做一个相关的分享,希望可以帮到跟我有类似需求的小伙伴们。

iview官方文档中对render是这样描述的:

         自定义渲染列,传入三个参数 row、column 和 index,分别指当前单元格数据,当前列数据,当前是第几行,详见示例

自定义列模板 #

通过给 columns 数据的项,设置一个函数 render,可以自定义渲染当前列,包括渲染自定义组件。(很强大,下面会讲到)

    render 函数传入三个参数 rowcolumn 和 index,分别指当前单元格数据,当前列数据,当前是第几行(其实一般就是第几条数据)

    render 函数本质返回的是字符串,Table 组件在内部对其进行了编译,如果使用了自定义组件,需要特别注意上下文,编译后的自定义组件,默认的上下文是 i-table 所在的上下文,如果想让组件在指定的实例下编译,可以给 i-table 设置属性 content 来指定上下文,比如本例指定当前路由页为上下文。一般情况不需要此配置,但如果你把 i-table 作为一个 slot 封装在其它组件里,这时 content 属性就很有用,比如父级是 $parent,根组件 $root。

<template><i-table border :content="self" :columns="columns7" :data="data6"></i-table>
</template>
<script>export default {data () {return {self: this,columns7: [{title: '姓名',key: 'name',render (row, column, index) {return `<Icon type="person"></Icon> <strong>${row.name}</strong>`;}},{title: '年龄',key: 'age'},{title: '地址',key: 'address'},{title: '操作',key: 'action',width: 150,align: 'center',render (row, column, index) {return `<i-button type="primary" size="small" @click="show(${index})">查看</i-button> <i-button type="error" size="small" @click="remove(${index})">删除</i-button>`;}}],data6: [{name: '王小明',age: 18,address: '北京市朝阳区芍药居'},{name: '张小刚',age: 25,address: '北京市海淀区西二旗'},{name: '李小红',age: 30,address: '上海市浦东新区世纪大道'},{name: '周小伟',age: 26,address: '深圳市南山区深南大道'}]}},methods: {show (index) {this.$Modal.info({title: '用户信息',content: `姓名:${this.data6[index].name}<br>年龄:${this.data6[index].age}<br>地址:${this.data6[index].address}`})},remove (index) {this.data6.splice(index, 1);}}}
</script>

以上这些是官方文档描述和基础用法,这边博客记录的主要目的是记录接下来的用法。
         语法:render:(h,params)=>{}
         具体用法:

render:(h,params) => {return h(" 定义的元素 ",{ 元素的性质 }," 元素的内容"/[元素的内容])
}

定义的元素例如:div、span、p等等

元素的性质如:{style:{color:'red'}}、{ props: { src:'',value:'' }、 on: { click: () => { this.upRow(params) } } // 绑定的事件

元素的内容:可以进行标签的嵌套或者显示字符串的内容

{title: '操作',key: 'action',align: 'center',width: 155,render: (h, params) => {return h('div', [ // 嵌套的标签h('Button', {props: {size: 'small'},style: {marginRight: '5px',fontSize: '12px',borderColor: '#5cadff'},on: {  // 绑定的事件click: () => {this.upRow(params)}}}, '上移'),  // 字符串文字h('Button', {props: {size: 'small'},style: {marginRight: '5px',fontSize: '12px',borderColor: '#5cadff'},on: {click: () => {this.downRow(params)}}}, '下移'),h('img', {attrs: {  // src是html的属性(attr)而不是组件的属性(props)src: ''},}),h('img', {domProps: {  // 也可以使用domProps属性src: ''},})])}},

iview UI库中table的render函数相关推荐

  1. Vue项目中Table设置 render 函数

    statusList1: {0: "",1: "",2: "药品服务费收入",3: "特药服务费收入",4: " ...

  2. antd table设置表格一个单元格的字体颜色_开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件

    背景 有这样一个需求,一位 React Suite (以下简称 rsuite)的用户,他需要一个 Table 组件能够像 Jira Portfolio 一样,支持树形数据,同时需要支持大数据渲染. 截 ...

  3. Henry前端笔记之 UI组件库中table与slot相关理解

    Henry前端笔记之 UI组件库中table与slot相关理解 作用域插槽: 解构赋值基础:https://developer.mozilla.org/zh-CN/docs/Web/JavaScrip ...

  4. python中求和公式是什么函数_Python的math库中,用于求和的函数是( )。

    [单选题]确定兴利库容 V 兴 ,已知某水库为一回运用水库,其一次蓄水量为 V 1 =300 万 m 3 ,一次供水量为 V 2 =150 万 m 3 . [ ]. [单选题]hAB大于0说明B点的高 ...

  5. c++调用gcd函数_c++函数库中一些实用的函数

    有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数. 这里只记录一些不太常见的函数. ------------------------------- ...

  6. 如何使用一个库中不存在的函数

    Windows是一个不断发展的系统,很多新的 API 在操作系统更新时更新,而MASM32开发包一般在很长一段时间内都无法及时更新,如果需要在编程中使用新添加的API函数.就得自己动手来更手库文件,下 ...

  7. 使用Python PIL库中的Image.thumbnail函数裁剪图片

    发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了.那么,我们如何使用python中强大的PIL库来进行图片裁剪呢? from PIL impo ...

  8. Material组件库中table组件的sticky属性

    sticky 英文字面意思是粘,粘贴,所以姑且称之为粘性定位 .我们先看下在Angular中如何使用. 当我们需要固定住头部的时候,只需要在mat-header-row 加上 sticky: true ...

  9. iView UI库解决基于vue.js解决table中this的指向问题

    this指向全局变量data的数据 html <i-table ref="tables" editable searchable search-place="top ...

最新文章

  1. C#的方法的参数修饰符详解
  2. 图像与视频合成领域的集大成者,都在这里了!
  3. ios webView 放大网页解决/input 获得焦点focus 网页放大 解决
  4. Windows上创建文件夹链接
  5. 比较合适的工作看板组合形式
  6. Android5.0源码分析—— Zygote进程分析
  7. GVA gin-vue-admin前后端部署教程
  8. [COGS58] 延绵的山峰
  9. java日志之slf4j与logback简单使用
  10. 基于html人事管理报告,基于C++builder的课程设计报告 (人事管理系统)
  11. STM32F7xx —— ADC
  12. 液体火箭发动机技术国家级重点实验室2021年度对外开放项目指南
  13. 以用户为中心的SNS站点数据库设计及实现
  14. 《深入实践Spring Boot》阅读笔记之二:分布式应用开发
  15. (转)用Javascript获取页面元素的位置
  16. eclipse改变html字体大小,eclipse字体大小设置(eclipse如何调整页面字体大小)
  17. 重点 (四) : 超级全面的iOS资源
  18. 【无标题】2022年“研究生科研素养提升”系列公益讲座在线测评本次测验答题时间为8月15日-26日,60分及格,每人有一次补考机会。
  19. SAP笔记-abap SD 定价公式(例程,即Formula)
  20. 如何降低自动化维护成本?

热门文章

  1. 华硕笔试: 基础知识
  2. 2020校招薪酬大比拼,旧人没有新人香,你被倒挂了没?
  3. unity2D:2D光效
  4. 20190109基于贝加莱PLC 用C语言构建PID控制器 与应用一
  5. 量化私募投资百亿头部量化私募企业在招岗位:《量化研究员》21/22/23届,校招/秋招/社招都看年base40-100万+bonus
  6. 计算机专业的自我介绍英语翻译,大学生英语自我介绍(包括专业的英语翻译)
  7. CSS实现父元素半透明,子元素不透明
  8. @Entity @Table注解
  9. 哈啰出行_出行模式启动
  10. 华为云大数据BI赋能企业数字化发展