在你提供的代码中,两个日期选择器(a-range-picker
)的值是通过 Vue 的响应式数据管理的。如果选择一个日期范围后,另一个日期范围也会受到影响,这可能与以下几个因素有关:
共享状态:确保两个日期选择器没有共享相同的响应式状态。在你的代码中,你需要分别为每个日期范围定义独立的响应式属性。
事件处理:检查是否在选择其中一个日期范围时触发了某些事件,比如设置另一个日期范围的值。
表单模型:
formState
变量可能包含这两个输入框的数据。如果它们都是从同一个对象中读取或写入数据,那么更改一个可能会导致另一个也发生变化。
解决方案
你可以尝试以下方法来确保这两个选择器之间互不干扰:
- 为每个日期选择器创建独立的状态。
const formState = ref({
dateRange: [],
importDateRange: [],
})
- 确保
v-model
是针对各自独立的字段:
<a-range-picker
v-bind="rangeConfig"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="formState.dateRange" <!-- 独立绑定 -->
/>
<a-range-picker
v-bind="rangeConfig"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="formState.importDateRange" <!-- 独立绑定 -->
/>
检查是否有其他逻辑代码影响到这些日期选择器,比如在
queryTable
或其他函数内修改了它们的值。如果你正在使用表单验证或提交逻辑,确保每次提交只处理当前活跃输入框的数据,而不是自动填充其它字段。
通过以上方法,可以避免两者之间相互影响。请确认一下你的实现,并进行适当调整。
内容由零声教学AI助手提供,问题来源于学员提问