饿了么组件表头嵌套

这是官网关于createElement的简单例子

// @returns {VNode}
createElement(
 // {String(一个 HTML 标签字符串) | Object(组件选项对象) | Function(一个返回值类型为String/Object的函数)}
 // 必要参数
 'div', 
// {Object(包含模板相关属性的数据对象 )} 
// 这样,您可以在 template 中使用这些属性.可选参数.
 { 
  // {String | Array}
  // 子节点 (VNodes),由 `createElement()` 构建而成, 
  // 或简单的使用字符串来生成“文本结点”。可选参数。
  },
 [ '先写一些文字', createElement('h1', '一则头条'), 
createElement(MyComponent, {
   props: { someProp: 'foobar' }
 })
])

从例子中可以看到,createElement方法是可以嵌套的
实际例子中甚至可以实现多层嵌套,特别注意⚠️这里加属性的时候要加载props里面

<template>
 <el-table :data="tableData">
   <el-table-column prop="num" :render-header="renderHeader">
   </el-table-column>
 </el-table>
</template>
<script>
 data() {
   return {
     tableData: [{ num: '50' }] }
   },
 methods: {
/** 加表头提示
* @param {Function} creatElement 函数
* @return {object}  返回的虚拟dom
*/
   renderHeader(createElement, { column }) { 
    return creatElement('div', [
          '可用库存',
          creatElement('el-tooltip', {
            class: 'item',
            props: {
              content: '可用库存=总库存-销售库存',
              placement: 'top',
            },
          }, [
            creatElement('i', {
              class: 'we-icon we-icon--icon-help',
              style: 'color: #666; font-size: 13px;margin-left: 8px;',
            }),
          ]),
        ])
 } }
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,885评论 25 709
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,086评论 0 29
  • 3. JSX JSX是对JavaScript语言的一个扩展语法, 用于生产React“元素”,建议在描述UI的时候...
    pixels阅读 2,896评论 0 24
  • 梦到你的夜晚都是带着悲伤醒来,我和妹妹骑着家里的旧单车在集市上赶集,我们俩开开心心的买这买那,看着你坐着王毛伯伯的...
    报膝看闲街阅读 138评论 0 0