1. render函数的几种使用方法
    最近使用element-uitree组件时,需要在组件树的右边自定义一些图标,就想到了用render函数去渲染。
  1. <el-tree class="p-tree" :render-content="renderContent" ref="pTree">
    </el-tree>
  1. render 函数接收一个 createElement 方法作为第一个参数用来创建 VNode
    第二个参数用来接收一个上下文信息。
    createElement 接受的参数 1、标签名,2、内容(多数情况下都是动态渲染进去的,所以直接写内容的情况还是挺少的),
    可以直接写各种属性,也可以用一个变量名,把各种属性存起来。
    3、子节点
  2.  
  3. 如:
    直接写入的:
  1. renderContent (createElement, { node, data, store }) {
    return createElement(
    'span',{
    'class': {
    'node-disabled': data.is_forbidden === '2'
    },
    attrs: {
    id: type
    },
    style: {
    'float': 'right',
    'margin-top': '10px',
    'margin-right': '10px'
    },
    on: {
    click: (e) => {
    e.stopPropagation();
    }
    }
    }
    );
    // console.log(node);
    })
  1.  
  1. 用变量名字的
  1. renderContent (createElement, { node, data, store }) {
    let prop = {
    'class': [
    'filter-tree-content',
    parseInt(data.is_own) === 1 ? 'green' : ''
    ],
    domProps: {
    innerHTML: data.alias
    }
    };
    return createElement(
    'span', prop
    );
    // console.log(node);
    })
  1. 两种方式的写法基本一致,class的写法稍微有点不一样
  2.  
  3. 还有一种就是嵌套型的
  4.  
  5. renderContent (createElement, { node, data, store }) { // div 标签下包裹一个a标签
    let prop = { // 设置属性
    'class': [
    'v-text',
    'pack'
    ],
    domProps: {
    innerHTML: '...'
    },
    on: {
    click: ($event) => { // 添加事件
    this.clickHandler(data, $event);
    }
    }
    };
    return createElement(
    'div', // 创建标签
    {
    'class': { // 设置类名
    'node-disabled': data.is_forbidden === '2'
    }
    },
    [createElement('span', {
    domProps: {
    innerHTML: node.label
    },
    'class': {
    textContent: this.isClass
    },
    style: {
    backgroundSize: '15px 15px'
    }
    })]
    );
    }

render函数的使用的更多相关文章

  1. QTableView另类打印解决方案(复用render函数去解决print问题)

    Qt QTableView另类打印解决方案     上回书说道Qt的model/view,我就做了个demo用于显示数据库中的内容.没想到tableview的打印竟然成了问题.我困惑了,难道Qt不应该 ...

  2. Vue2.x中的Render函数

    Render函数是Vue2.x版本新增的一个函数:使用虚拟dom来渲染节点提升性能,因为它是基于JavaScript计算.通过使用createElement(h)来创建dom节点.createElem ...

  3. Vue.js之render函数基础

    刚才翻了一下博客,才发现,距离自己写的第一篇Vue的博客vue.js之绑定class和style(2016-10-30)已经过去一年零两天.这一年里,自己从船厂的普通技术员,成为了一个微型不靠谱创业公 ...

  4. 大白话Vue源码系列(03):生成render函数

    阅读目录 优化 AST 生成 render 函数 小结 本来以为 Vue 的编译器模块比较好欺负,结果发现并没有那么简单.每一种语法指令都要考虑到,处理起来相当复杂.上篇已经生成了 AST,本篇依然对 ...

  5. 大白话Vue源码系列(04):生成render函数

    阅读目录 优化 AST 生成 render 函数 小结 本来以为 Vue 的编译器模块比较好欺负,结果发现并没有那么简单.每一种语法指令都要考虑到,处理起来相当复杂.上篇已经生成了 AST,本篇依然对 ...

  6. vue2.0之render函数

    虽然vue推荐用template来创建你的html,但是在某些时候你也会用到render函数. 虚拟DOM Vue 通过建立一个虚拟 DOM 对真实 DOM 发生的变化保持追踪.请近距离看一下这行代码 ...

  7. Vue中的render函数随笔

    使用vue-cli创建项目后,再main.js里面有这样一段代码: new Vue({ render:h => h(App) }).$mount('#app') render函数是渲染一个视图, ...

  8. render函数

    vue2.0之render函数   虽然vue推荐用template来创建你的html,但是在某些时候你也会用到render函数. 虚拟DOM Vue 通过建立一个虚拟 DOM 对真实 DOM 发生的 ...

  9. Vuejs2.0学习(Render函数,createElement,vm.$slots)

    直接来到进阶部分, Render函数 直接来到Render,本来也想跳过,发现后面的路由貌似跟它还有点关联.先来看看Render 1.1 官网一开始就看的挺懵的,不知道讲的是啥,动手试了一下,一开头讲 ...

  10. 【转】【Html】Vuejs2.0学习之二(Render函数,createElement,vm.$slots,函数化组件,模板编译,JSX)

    1.Render函数 所以直接来到Render,本来也想跳过,发现后面的路由貌似跟它还有点关联.先来看看Render 1.1 官网一开始就看的挺懵的,不知道讲的是啥,动手试了一下,一开头讲的是Rend ...

随机推荐

  1. .Net Core 自动化部署:使用jenkins部署到linux docker容器运行

    上次我们说到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用,这次我们使用jenkins发布我们的.NET Core站点到docker容器中运行,为后面的的 ...

  2. mysql用户增删改

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  3. JavaScript类型检测汇总

        曾经我以为JavaScript中的类型检测只要使用 typeof 或 instanceof 就可以通通解决.后来我发现我是too young too naive啊!早说过JavaScript是 ...

  4. coderfoces D. Gourmet choice

      D. Gourmet choice time limit per test 2 seconds memory limit per test 256 megabytes   题目链接: https: ...

  5. windows测试登陆

    测试工具我使用2种(Medusa和hydra): 第一种:Medusa支持端口登录但是不支持rdp协议,意思就是可以验证密码是否正确,新用户不会创建家目录: 使用方法: medusa -M smbnt ...

  6. 9w5:第九周程序填空题1

    描述 下面的程序输出结果是: 1 2 6 7 8 9 请填空: #include <iostream> #include <iterator> #include <set ...

  7. [ActionScript 3.0] 通过BitmapData将对象保存成jpg图片

    此方法需要用到JPGEncoder.as和BitString.as这两个类,是将BitmapData对象转换成ByteArray,然后通过FileStream把此ByteArray写入到文件保存成jp ...

  8. P4304 [TJOI2013]攻击装置 最小割

    $ \color{#0066ff}{ 题目描述 }$ 给定一个01矩阵,其中你可以在0的位置放置攻击装置. 每一个攻击装置(x,y)都可以按照"日"字攻击其周围的8个位置(x-1, ...

  9. Nodejs连接数据库为何使用连接池

    问题一.nodejs既然是单线程运行,在连接数据库时为何要使用连接池呢? 问题二,redis服务端是单线程运行的,使用连接池到redis,服务端还是串行处理,有什么意义么? 这两个问题都涉及到单线程与 ...

  10. [原创]Heroku简单部署指南

    目录 1. 设置 1.1 环境依赖 1.2 Heroku 客户端安装 1.3 登录 2. 应用 2.1 创建 2.2 查看日志 2.3 附加组件 2.4 交互式 Shell 2.5 定义 配置变量 2 ...