iview 中 render 的使用方法

219 阅读1分钟

iview 中 render 的使用方法

基本语法

三部分:分别定义span标签、(样式、属性、事件等综合内容)、显示内容

render:(h,params) => {
	return h('span', {
    class: "sub-title",
		style:{
      color: "#000"
    },
		on:{
			click: () => {
				console.log("params")
			}
		}
	},"点击")
}

精简例子

渲染 <span>hello</span>

render: (h,params) => {
  return h('span','hello')
}

显示多个内容

render: (h,params)=>{
  return h('div',[
    h('span',{style:"color:red;"},params.row.name),
    h('i-button',"删除")
  ])
}

render: (h,params)=>{
  return h('span',
  {
    		style: {
            display: 'inline-block',
            width: params.column._width*0.9+'px',
            overflow: 'hidden',
            textOverflow: 'ellipsis',
            whiteSpace: 'nowrap',
        }
  },
  "文本溢出用省略号显示"
}

显示组件


render: (h, params) => {
    return h('div', [
        h('Tooltip', {
                props: {
                    placement: 'top',
                }        
            }, [
                params.row.content, // 表格显示文字
                h('div', {
                        slot: 'content',
                        style: {
                            whiteSpace: 'normal'
                        }
                    }, params.row.content // 气泡内的文字
                )
            ])
]);

显示图片



render: (h, params) => {
  return h('div', [
    h('img', {
      domProps: {
        'src': params.row.img
      },
      style: {
        display: 'block',
        width: '30px',
        height: '30px',
        borderRadius: '3px',
        // margin: '0 auto'
      },
    })
  ])


注意:尽量不要在render和return之间做赋值操作,赋值操作及数据改变(i++)会触发iView的render的刷新机制,会不断刷新直到报错。

如果有点击事件,将这些操作都放在事件中进行处理。

版本号 1.0.0