import { useSystemStore } from "/@/store/system";
import { formatDate } from "/@/utils/date";
const {
businessDate: { preDay },
} = useSystemStore();
//{ businessDate: { preDay } }:
这是一个 **解构赋值**,它的作用是从 useSystemStore() 返回的对象中提取特定的属性。
从文件中导入方法获得最新的交易日期
const formPropModel = ref({
importDate: preDay,
});
const formProp = {
variant: "underlined",
model: formPropModel.value,
items: [
{
prop: "importDate",
label: "导入日期",
mold: "date",
clearable: true,
filterable: true,
moldProps: {
disabledDate: (time: Date) => {
return time.getTime() > new Date(formatDate(preDay)).getTime();
},
},
},
],
};
先定义一个formpropmodel,并且在表单对象中model绑定formpropmodel,formPropModel 中的preDay值会赋给items中的值
作用
formPropModel 是一个响应式的 ref 对象,它的值是一个包含 clearDate 属性的对象。这个值会被绑定到表单的 model 属性中(即 model: formPropModel.value)。
formPropModel 的作用是提供一个可以响应式更新的 数据源,供表单项(如 clearDate)使用。因为是响应式的,表单项的值会随着 formPropModel 的变化而自动更新,反之,formPropModel 中的值也会随着用户在表单中做的修改而变化。
例如,当用户选择日期时,clearDate 的值会更新到 formPropModel 中,从而保持了表单数据和 formPropModel 中的数据同步。
2. 如果不写这一步会有什么影响?
如果没有这一步 const formPropModel = ref({ clearDate: preDay });:
没有响应式绑定:表单将无法绑定到一个响应式的数据对象。你需要手动维护表单字段的值和视图之间的同步。
**表单数据无法动态更新:**如果没有 formPropModel,表单中的值就无法动态响应用户的输入或其他代码中对数据的更新,导致用户输入的值无法保存在 Vue 的响应式数据系统中。
数据和视图不一致:如果没有响应式对象,你需要在其他地方手动更新表单值,可能会导致数据和视图之间的同步问题,特别是在更复杂的表单和应用场景下。
const handleTabChange = () => {
formPropModel.value = {
importDate: preDay,
};
nextTick(() => {
pageRef.value.queryPage();
});
};