微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Vue Render Function 中组合类名

如何解决在 Vue Render Function 中组合类名

我有一个使用渲染函数的 Vue 2 组件,如下所示:

export default {
  name: "u-skeleton",render(createElement) {
    return createElement("div",{
      attrs: {
        class: "skeleton"
      },});
  },};

当我像这样使用组件时:

<u-skeleton class="foo"/>

HTML 输出是:

<div class="foo"/>

我怎样才能做到这一点,以便组合 CSS 类名?

<div class="foo skeleton"/>

了解 Vue 2 和 3 中的答案会很有帮助。

解决方法

使用渲染函数时,class 是一个特殊的属性,它在 options object 中有自己的属性:

render(createElement) {
  return createElement("div",{
    class: 'skeleton'
  });
}

使用 attrs 属性代替 class,它可以是:

一个字符串、对象或字符串和对象的数组。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。