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

如何在Vuetify表格同一列展示起始与结束日期?

Vuetify表格日期列不显示问题排查与修复

一、拼写错误类问题

  • 返回变量名错误:在useMonitoringSports(原代码中写为useSport)的返回值里,变量名写成了tabelRows(缺失字母b),但Vue组件中接收的是tableRows,导致表格无法绑定到正确的数据。
    修复:将返回语句改为:
    return {
      tableRows,
      headers,
    };
    
  • 请求参数拼写错误:构建searchParams时,endDat是endDate的笔误,导致请求参数不完整,后端无法正确返回日期数据。
    修复:修正为endDate: endDate。
  • 请求参数字段名不匹配:类型定义TableSearchParams要求的参数字段是startData和endData,但代码中使用的是startDate和endDate,字段名不一致会导致参数无法正确传递给后端。
    修复:调整searchParams的字段名:
    const searchParams: TableSearchParams = {
      startData: yesterday,
      endData: endDate,
    }
    

二、表格表头与插槽配置问题

  • 未配置日期列表头:当前headers数组中没有对应日期字段的表头,且现有表头的value(yesterday、lastDelivery)与后端返回的startData、endData字段不匹配,导致表格无法识别并渲染日期列。如果要在同一列显示起始和结束日期,需要添加一个自定义表头:
    const headers: DataTableHeader[] = [
      { text: 'Sport', value: 'sportsName' },
      { text: 'Sports Id', value: 'sportsId' },
      { text: '日期范围', value: 'dateRange' }, // 新增日期列表头
    ]
    
  • 插槽未关联正确表头:Vue模板中定义了#item.startData插槽,但表头里没有value: 'startData'的列,该插槽不会被触发。要实现同一列显示两个日期,需针对新增的dateRange列自定义插槽:
    <template #item.dateRange="{ item }">
      <div>{{ item.startData }}</div>
      <div>{{ item.endData }}</div>
    </template>
    

三、类型定义不匹配问题

  • 数据类型字段缺失:SportsTableRow(原代码中TableRow与SportsTableRow未统一)中没有定义startData和endData字段,即使后端返回了这两个字段,TypeScript会限制访问,且无法正确识别数据结构。
    修复:更新类型定义:
    export interface SportsTableRow {
      sportsId?: string;
      sportsName?: string;
      startData?: string;
      endData?: string;
      values?: [
        {
          data?: string;
          amount?: number;
        }
      ];
    }
    
  • 表格行类型错误:useMonitoringSports中tableRows的类型被定义为TableColumn[],但实际应为SportsTableRow[],类型不匹配会导致数据无法正确赋值。
    修复:修正类型声明:
    const tableRows = ref<SportsTableRow[]>();
    

四、组件引用与数据传递问题

  • 缺失组件导入:Vue模板中使用了SportsDate组件,但未在script中导入和注册,导致该组件无法渲染。
    修复:添加组件导入与注册:
    import SportsDate from '@/SportsDate.vue';
    
    export default defineComponent({
      components: { AvatarChip, SportsDate },
      // ... 其余代码
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:25:12