【问题标题】:Invalid prop: type check failed for prop "cellClass". Expected String with value "[object Object]", got Object无效的道具:道具“cellClass”的类型检查失败。预期值为“[object Object]”的字符串,得到 Object
【发布时间】:2020-08-26 10:31:22
【问题描述】:

我正在尝试有条件地将 CSS 类应用于 b-table 中的一行(全部为 b-table-column),如下所示:

<b-table-column class="is-unselectable" 
    :cell-class="{ 'has-pointer-cursor': props.row.url != null }" 
    field="version" label="Name" :custom-sort="sortName" sortable>

    <!-- Content -->

</b-table-column>

has-pointer-cursor 类存在于该vue 页面/组件的样式部分中。

我在控制台中收到此错误/警告:

[Vue 警告]:无效的道具:道具“cellClass”的类型检查失败。 期望值为“[object Object]”的字符串,得到对象

found in

---> <BTableColumn>
       <BTable>
         <MyPage> at src/views/MyPage.vue
           <App> at src/App.vue
             <Root>

但不知何故,它按预期工作(不考虑错误消息)!

发生了什么以及它如何仍然有效?有什么办法可以解决吗?

【问题讨论】:

    标签: vue.js buefy


    【解决方案1】:

    b-table-column 组件需要 cell-class 属性的字符串值,但您正在向它传递一个对象。

    试试这个

    <b-table-column :cell-class="props.row.url ? 'has-pointer-cursor' : ''" ...>
    

    【讨论】:

    • 谢谢。它起作用了(错误消息消失了),但是您知道为什么它以前起作用(但是有错误消息)吗? class 的 prop 不是也需要 String 类型吗?
    • 不,Vue 能够以各种方式处理 class 绑定,包括对象。见vuejs.org/v2/guide/class-and-style.html。 Buefy 组件如何处理其cell-class 属性取决于他们。他们选择将其设置为字符串类型
    猜你喜欢
    • 2021-09-04
    • 2021-07-27
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 2022-01-22
    • 2017-12-12
    相关资源
    最近更新 更多