vue 根据不同条件动态加载组件
需求:总共有5个按钮,每个按钮根据不同v-if和权限显示,超过3个按钮时,其余按钮显示在“更多”里。
问题:如何满足该需求??
回答:
用 render
+ JSX
实现:
{ computed: {
validButtons() {
return []; // 返回需要展示的按钮数组
},
},
methods: {
renderButtons() {
return this.validButtons.slice(0, 4).map(btn =>
<button onClick={btn.handler}>{btn.name}</button>
);
},
renderMoreButtons() {
if (this.validButtons.length <= 3) {
return null;
}
return <el-popover>
<el-button slot="reference">更多</el-button>
{this.validButtons.slice(4).map(btn =>
<button onClick={btn.handler}>{btn.name}</button>
)}
</el-popover>
},
},
render() {
return <div>
...
{this.renderButtons()}
{this.renderMoreButtons()}
</div>
},
};
以上是 vue 根据不同条件动态加载组件 的全部内容, 来源链接: utcz.com/p/935874.html