问题描述
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
,它可以是:
一个字符串、对象或字符串和对象的数组。