vue2子组件prop接受jsx并渲染
AI-摘要
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本文最后更新于 2024-06-28,文章内容可能已经过时。
子组件 subComponent
<template>
<div class="render-box">
<render-dom :render="render" />
</div>
</template>
export default {
name: "SubComponent",
data(){
return {}
},
props: {
render:{
type: Function,
default: ()=>{}
}
},
components: {
RenderDom: {
functional: true, // 函数式组件 - 无 data 和 this 上下文 => better render
props: {
render: Function
},
/**
* @param {Function} createElement - 原生创建dom元素的方法, 弃用,推荐使用 jsx
* @param {Object} ctx - 渲染的节点的this对象
* @argument 传递参数 row index
*/
render(createElement, ctx) {
return ctx.props.render(createElement);
}
}
}
}
父组件 parentComponent
<template>
<div class="render-box">
<sub-component :render="render" />
</div>
</template>
export default {
name: "parent-component",
data(){
return {
render: ()=> {
return ([
<el-checkbox onChange={this.handleChangeCheck}>全选</el-checkbox>,
<el-checkbox>aaaa全选</el-checkbox>
])
}
}
},
methods: {
handleChangeCheck(val){
console.log("val", val)
}
}
}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果