vue中render的常见用法(渲染按钮禁用/隐藏等状态)

简介**

在vue开发前端页面的过程中,对于一些较复杂的嵌套样式,用template不太方便的,一般要用到render函数来进行渲染。
**render本身是一个函数,它的参数也是一个函数。

render(): (h) => {
	return h('div', '数据对象或者标签属性', '标签内容或子节点')
}
/*
* 参数说明
* h:即render的参数,是一个函数,有三个参数
* 参数1:是一个html标签或者组件对象,例如这里是 'div'
* 参数2:是一个数据对象或者html的属性。这里可以是div的属性或者一个数组等,详细看示例
* 参数3:html标签的内容或者子节点。这里可以对应div的text或者下级元素节点
*/

示例1:

vue前端表格中渲染待展示对象。
使用场景:后端返回的数据中,需要展示在iview/element表格中某列的字段是在对象中的一个属性。
例如展示用户数据,需要展示用户写的书籍名,可能是关联数据。需要展示对象内部的数

title: [
	{
	title: '姓名',
	key: 'name'
},
	{
	title: '书籍名',
	render: (h, params) => {
			return h('div', {}, params.row.book.name)
		}
	}
],
// 表格数据
data: [
	{
	name: '张三',
	book: {name: '人类简史'}
	}
]
// 这里是按照iview或者element的table组件展现数据,姓名是一个简单的数据可以直接展示,书籍名就需要深入对象内部获取,用到render。

示例2

render渲染表格中的操作栏

render: (h, params) => {
        return h('div', [
		h('Button', {
			props: {type: 'text', size: 'small',
					loading: params.row.lineLoading
			},
			style: {display: params.row.status ? 'none' : 'inline-block'},
			attr: {disabled: params.row.status},
			class: 'button-class',
			on: {
				click: () => {                            				   this.update(params.row)
                 }
				}
			}, '修改'),
		h('Button', {}, '删除')
		])}
/*
这里模拟实现了操作栏按钮的loading状态,显示隐藏,禁用等几种设置
*/

渲染操作栏时,
利用props中的loading属性可以实现单行按钮的loading状态;
利用style中的display属性可以实现按钮的显示和隐藏
利用attr中的disabled属性可以实现按钮的禁用状态

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值