javascript - 访问 Vuetify 作用域槽内表 colspan 的 number prop 值

标签 javascript vuejs2 vuetify.js vue-props vuejs-slots

我有一个子组件,由多个包含 Vuetify v-data-table 的父组件使用,部分数据表使用body.prepend投币口。在这种特殊情况下,表结构用于设置一些选择列表,为了与列标题对齐,它使用 colspan值:

<v-data-table>
 ...

<template v-slot:body.prepend>
  <tr>
    <td colspan="numBlankHeaders"></td>
    <td v-if="showPracticeFilter">
      <v-select
        v-model="selectedPractices"
        :items="practices"
        label="Select Practice"
        multiple
        chips
        deletable-chips
        small-chips
        dense
      ></v-select>
    </td>
    <td v-if="showSEFilter">
      <!-- <v-text-field v-model="selectedSE" type="text" label="SE"></v-text-field> -->
      <v-select
        v-model="selectedSEs"
        :items="ses"
        label="Select SE"
        multiple
        chips
        deletable-chips
        small-chips
        dense
      ></v-select>
    </td>
    <td v-if="showStatusFilter">
      <v-select
        v-model="selectedStatuses"
        :items="statuses"
        :menu-props="{ maxHeight: '400' }"
        label="Select Status"
        multiple
        chips
        deletable-chips
        small-chips
        dense
      ></v-select>
    </td>
  </tr>
</template>
</v-data-table>

但是,colspan value 需要在实现之间有所不同,因此我想传递一个 prop 值(上面的 numBlankHeaders 值)。根据props docs页面,你必须使用 v-bind告诉 Vue 这是一个 JS 表达式而不是字符串,所以我这样定义 prop:

props:{
  numBlankHeaders: {
    type: Number,
    default: 7
  }
}

然后我像这样传递它:

<BaseProjectTable
  :headers="Oppheaders"
  :items="opps"
  :search="search"
  :loggedInUser="loggedInUser"
  title="Opportunities"
  :showPracticeFilter=false
  :numBlankHeaders="6"
></BaseProjectTable>

但是,无论我使用默认值还是传递上述值,我作为 prop 传入的值根本不会生效。初始代码片段中正在使用其他 Prop (例如 <td v-if="showPracticeFilter"> ),所以我知道插槽内正在使用 Prop 。我需要更改什么才能获得我的 numBlankHeaderscolspan 工作的支柱值?

最佳答案

bind an attribute value,需要在模板中添加 v-bind:: 前缀。在您的示例中,这将是 colspan 上的冒号前缀:

<td :colspan="numBlankHeaders"></td>

关于javascript - 访问 Vuetify 作用域槽内表 colspan 的 number prop 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63079970/

相关文章:

javascript - Vuejs - 无法读取未定义的属性 '_withTask'

javascript - 如何从 vue.js 中的并行组件动态更新 var

javascript - 如何在 vue.js 的 v-model 中正确应用三元运算符?

javascript - 我们可以将 JSON 对象数组转换为 lightGalery 对象数组吗?

javascript - VueJS 单文件组件更新数据

javascript - 如何在 vuetify 弹出模式上放置要使用输入元素(v-select)固定的下拉项?

javascript - Vue、Vuetify - 减少工具栏中按钮之间的空间

javascript - 当我在数字类型 v-text-field 上输入 cjk(韩语) 时,Event.preventDefault 不起作用

javascript - 为什么 NodeJS 的绑定(bind)函数在这种情况下停止工作

javascript - 使用 Backbone 在我看来加载模块的最佳方式?