ZBLOG

在你的代码中,分页和数据显示逻辑看起来是基于 totalRecords 的值。要确保在没有数据的情况下不显示分页组件,可以对 datatotalRecords 的值进行一些检查。以下是修改建议:

  1. 条件渲染:通过计算属性或直接在模板中添加条件,判断当没有数据时是否应该渲染分页组件。

  2. 调整数据源:确保 data 有效时才显示数据表格,并且当没有数据时清空 pagination

以下是可能的实现方法:

修改模板部分

  1. <template>
  2. <div class="HistoricalReminder">
  3. <div class="page-form-area"></div>
  4. <a-table
  5. v-if="totalRecords > 0" <!-- 确保有记录时才显示表格 -->
  6. :columns="columns"
  7. :data-source="data.length > 0 ? data : [{}]"
  8. :scroll="{ x: 'max-content' }"
  9. :pagination="{
  10. pageSize: pageSize,
  11. showSizeChanger: true,
  12. onShowSizeChange: handlePageSizeChange,
  13. showQuickJumper: true,
  14. showTotal: (total, range) => `显示 ${range[0]}~${range[1]}条记录,共 ${total} 条记录`,
  15. total: totalRecords
  16. }"
  17. :rowClassName="(record, index) => (index % 2 === 0 ? 'red-row' : '')"
  18. />
  19. <p v-else>暂无数据</p> <!-- 当没有数据时显示提示 -->
  20. </div>
  21. </template>

修改 JavaScript 部分

你已经将 API 响应存储到 data 中,并设置了总记录数到 totalRecords,这是好的做法。确保后端返回的数据格式正确。

确保在每次查询之前重置相应状态,这样用户能看到最新的结果:

  1. const queryTable = () => {
  2. // 在请求前重置状态(可选)
  3. data.value = [];
  4. const params = {
  5. draw: 1,
  6. length: pageSize.value,
  7. order: [],
  8. search: { regex: false, value: '' },
  9. searchParams: {
  10. custId: 'A10101',
  11. date: formState.date,
  12. dateEnd: formState.dateEnd,
  13. importDate: formState.importDate,
  14. importDateEnd: formState.importDateEnd
  15. },
  16. start: 0
  17. };
  18. CollectionRecord(params)
  19. .then((response) => {
  20. data.value = response.data || []; // 保证即使没有数据也为数组类型
  21. totalRecords.value = response.recordsFiltered || 0; // 设置总记录数
  22. })
  23. .catch((error) => console.error('请求失败:', error));
  24. };

总结

通过使用条件渲染和调整 API 返回处理,你可以更好地控制何时显示表格以及分页信息。当没有数据时,你可以提供一个合适的信息提示用户当前无可用的数据。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=19828

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?