可以使用 scoped slot 的方式,将 el-select 下拉选项以 el-table 的行展示。

示例代码:

<el-select v-model='selected' style='width: 200px;'>
  <template #default>
    <el-table :data='options' style='width: 100%'>
      <el-table-column prop='label' label='Label'></el-table-column>
      <el-table-column prop='value' label='Value'></el-table-column>
      <template #default='{row}'>
        <el-table-column :label='row.label'>
          <div>{{ row.value }}</div>
        </el-table-column>
      </template>
    </el-table>
  </template>
</el-select>

其中,options 是一个数组,包含每个选项的 label 和 value。selected 是 v-model 绑定的值。

需要注意的是,el-select 的默认插槽(#default)中只能放置一个子元素,因此需要将 el-table 包裹在一个 template 元素中。同时,为了使 el-table-column 的 label 属性正确显示,需要将其包裹在一个 template 元素中,并将 row.label 传递给它。

Vue el-select 下拉选项以 el-table 样式展示 - 使用 scoped slot

原文地址: https://www.cveoy.top/t/topic/oZny 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录