直接用v-for是不可以的,参考了vue render 使用JSX实现 v-for ,都大同小异的
// 渲染节点
renderNode(h, { node, data }) {
return (
<div class='custom-tree-node'>
<span class='label-span'>{node.label}</span>
//加不同的图标,要进行判断,v-if也是不可以,所以做一个三目运算
{legend ? (
<i
class={['header-icon', legend.icon, `${legend.id}-icon`]}
title={legend.name}
/>
) : (
''
)}
<el-radio-group v-model={data.id} on-change={ () => this.changePermission(data) }>
//map代替v-for 循环渲染
{
this.demodata.map(item=>{
return <el-radio label={item.id}>{item.name}</el-radio>
})
}
</el-radio-group>
</div>
)
},