You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuetify v-select使用item插槽仅渲染57条数据问题咨询

问题原因与解决方法

这个问题大概率是Vuetify默认开启的虚拟滚动机制导致的:当v-select绑定的items数量超过阈值时,Vuetify会自动启用虚拟滚动优化性能,只渲染当前可见区域的列表项。但使用自定义item插槽后,自定义项的高度和默认样式不一致,虚拟滚动的高度计算逻辑失效,导致容器可滚动范围计算错误,看起来只显示了前57条数据。

具体解决方法:

  • 关闭虚拟滚动:200条数据完全在性能可接受范围内,直接给v-select添加virtual-scroll="false"属性,强制渲染全部列表项:
    <v-select
      v-model="selectedItem"
      :items="items"
      virtual-scroll="false"
    >
      <template v-slot:item="{ item }">
        <!-- 你的自定义item内容 -->
        <div>{{ item.label }}</div>
      </template>
    </v-select>
    
  • 指定自定义item高度:如果想保留虚拟滚动优化,手动设置item-height属性为自定义item的实际高度(比如48px),让虚拟滚动能正确计算总滚动高度:
    <v-select
      v-model="selectedItem"
      :items="items"
      :item-height="48"
    >
      <template v-slot:item="{ item }">
        <!-- 你的自定义item内容 -->
        <div style="height: 48px; line-height: 48px;">{{ item.label }}</div>
      </template>
    </v-select>
    
  • 排查插槽逻辑:检查自定义插槽内是否存在意外的条件渲染(比如v-if错误过滤数据)、样式隐藏(比如display: none)等情况,确保每个item都能正常渲染。
  • 验证数据完整性:确认绑定的items数组确实包含200条数据,没有在传递过程中被截断(比如计算属性处理错误)。

内容的提问来源于stack exchange,提问作者kipo87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:42:36