0

这是我iview Message呈现弹出消息的函数。

    this.$Message.info({
                render: h => {
                    return h('div', {class:"red"}, [
                        'This is created by ',
                        h('span', 'render'),
                        ' function'
                    ])
                }
            });

CSS

.red{
  color:red;
  background:blue;
}

但是,我需要渲染一个类span而不是整个div.

有什么方法可以只渲染span

4

2 回答 2

1

class对象放在span元素中而不是div元素中。

this.$Message.info({
  render: h => {
    return h("div", 
    [
      "This is created by ", 
      h("span", {class : "red" }, "render function ")
    ])
  }
});

例子 :

Vue.config.devtools = false;
Vue.config.productionTip = false;

var app = new Vue({
  el: '#app',
  render: h => {
    return h("div", 
    [
      "This is created by ", 
      h("span", {class : "red" }, "render function ")
    ])
  }
})
.red {
  color:red;
  background:blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>

<div id="app">
</div>

于 2019-12-10T09:39:53.550 回答
0

类应该是一个数组,而不是一个字符串:

h('div', {class: ['red']})

Vue 文档

于 2021-08-16T18:35:47.907 回答