ZBLOG

...

根据您提供的代码和错误信息,TypeError: Failed to fetch dynamically 通常与 Vue 3 中 v-model 的用法有关。在您的代码中,您使用了 v-model:value="[formState.dateStart, formState.dateEnd]"。这是不正确的,因为 v-model 不支持数组作为绑定。

在 Vue 3 中,如果要使用 v-model 来处理多个值,可以通过创建一个计算属性或方法来处理这个逻辑。以下是如何修复此问题的一种方法:

修改后的代码

  1. <template>
  2. <div class="HistoricalReminder">
  3. <div>
  4. <a-form
  5. :model="formState"
  6. name="time related controls"
  7. v-bind="formItemLayout"
  8. @finish="onFinish"
  9. @finishFailed="onFinishFailed"
  10. >
  11. <a-row>
  12. <a-col :span="8">
  13. <a-form-item label="日期" name="dateRange">
  14. <a-range-picker
  15. v-bind="rangeConfig"
  16. format="YYYY-MM-DD"
  17. value-format="YYYY-MM-DD"
  18. v-model="[formState.dateStart, formState.dateEnd]"
  19. @change="onDateChange" <!-- 添加事件监听 -->
  20. />
  21. </a-form-item>
  22. </a-col>
  23. <a-col :span="8">
  24. <a-form-item label="导入日期" name="importDateRange">
  25. <a-range-picker
  26. v-bind="rangeConfig"
  27. format="YYYY-MM-DD"
  28. value-format="YYYY-MM-DD"
  29. v-model="[formState.importStart, formState.importEnd]"
  30. @change="onImportDateChange" <!-- 添加事件监听 -->
  31. />
  32. </a-form-item>
  33. </a-col>
  34. <a-col :span="8">
  35. <a-form-item style="margin-left: 40px;">
  36. <a-button
  37. class="margin-right-10"
  38. type="primary"
  39. @click.prevent="$refs.form.submit()"
  40. >
  41. 查询
  42. </a-button>
  43. <a-button @click.prevent="reset()">重置</a-button>
  44. </a-form-item>
  45. </a-col>
  46. </a-row>
  47. </a-form>
  48. </div>
  49. <a-table
  50. :columns="columns"
  51. :data-source "data"
  52. :scroll="{ x: 'max-content' }"
  53. :pagination="{ /* pagination config here */ }"
  54. :rowClassName ="(record, index) => (index % 2 === 0 ? 'red-row' : '')"
  55. ></ a-table >
  56. </div >
  57. </template>
  58. <script setup >
  59. import { ref } from 'vue'
  60. import { CollectionRecord } from '../../utils'
  61. const columns = [
  62. {
  63. title: '借据号',
  64. dataIndex: 'loanInfoCode',
  65. key: 'loanInfoCode',
  66. width: 100,
  67. },
  68. {
  69. title: '合同编号',
  70. dataIndex: 'contractCode',
  71. key: 'contractCode',
  72. width: 150,
  73. },
  74. {
  75. title: '客户姓名',
  76. dataIndex: 'customerName',
  77. key: 'customerName',
  78. width: 150,
  79. },
  80. ]
  81. const data = ref([])
  82. const pageSize = ref(5)
  83. const formState = ref({
  84. dateStart: '',
  85. dateEnd: '',
  86. importStart: '',
  87. importEnd: '',
  88. })
  89. const onDateChange = (dates) => {
  90. if (dates.length > 0) {
  91. formState.value.dateStart = dates[0];
  92. formState.value.dateEnd = dates[1];
  93. }
  94. }
  95. const onImportDateChange = (dates) => {
  96. if (dates.length > 0) {
  97. formState.value.importStart = dates[0];
  98. formState.value.importEnd = dates[1];
  99. }
  100. }
  101. const handlePageSizeChange = (current, size) => {
  102. console.log(`每页条数变化为:${size}`)
  103. }
  104. const onFinish = () => {
  105. const params = {
  106. draw:1 ,
  107. lengthpageSize .value,
  108. order [],
  109. searchParams:{
  110. custId' A10101' , // 示例客户ID,视需要更改
  111. dateStart formState .value.dateStart
  112. dateEnd formState .value.dateEnd
  113. importStart formState .value.importStart
  114. importEnd formState .value.importEnd
  115. },
  116. }
  117. CollectionRecord(params)
  118. .then((response) => {
  119. data.value= response.data;
  120. })
  121. .catch((error)=> console.error(' 请求失败:', error));
  122. }
  123. const reset= () => {
  124. // 清空表单状态
  125. formState.value.dateStart= '';
  126. formState.value.dateEnd= '';
  127. formState.value.importStart= '';
  128. formState.value.importEnd= '';
  129. // 清空数据表内容或将其设置为初始状态
  130. data.value= [];
  131. }
  132. </script >
  133. <style scoped>
  134. // 在此处添加样式(如有必要)
  135. </style>

改动说明:

  1. 去掉数组:从 v-model:value="[...]" 改成了 v-model="[...]"
  2. 添加 change事件:增加了对日期选择器的 @change事件,这样当用户选择日期时,可以更新对应的状态。

以上改动应能解决您遇到的问题。如果还有其他问题,请随时告诉我!


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?