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

Invalid prop: type check failed for prop "cellClass". Expected String with value "[object Object]", got Object

我正在尝试有条件地将 CSS class 应用于 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>

class has-pointer-cursor 存在于 vue page/component 的样式部分。

我在控制台中收到此 error/warning:

[Vue warn]: Invalid prop: type check failed for prop "cellClass". Expected String with value "[object Object]", got Object

found in

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

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

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

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

试试这个

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