feat:【antd/ele】使用 productSpuIds 和 productCategoryIds 自定义插槽的表单在验证前同步 formData 中的值到表单中

This commit is contained in:
puhui999
2026-01-13 12:06:10 +08:00
parent bbc74ae663
commit e2433fc531
4 changed files with 54 additions and 3 deletions

View File

@@ -49,6 +49,19 @@ const [Form, formApi] = useVbenForm({
const [Modal, modalApi] = useVbenModal({
async onConfirm() {
// 同步商品/分类选择到表单,确保验证时能获取到值
if (formData.value.productSpuIds) {
await formApi.setFieldValue(
'productSpuIds',
formData.value.productSpuIds,
);
}
if (formData.value.productCategoryIds) {
await formApi.setFieldValue(
'productCategoryIds',
formData.value.productCategoryIds,
);
}
const { valid } = await formApi.validate();
if (!valid) {
return;

View File

@@ -52,9 +52,21 @@ const [Form, formApi] = useVbenForm({
const [Modal, modalApi] = useVbenModal({
async onConfirm() {
// 在验证前同步 formData.rules 到表单中
// TODO @puhui999选择了分类、或者商品还是报没选择
// 在验证前同步 formData 中的值到表单中
await formApi.setFieldValue('rules', formData.value.rules || []);
// 同步商品/分类选择到表单,确保验证时能获取到值
if (formData.value.productSpuIds) {
await formApi.setFieldValue(
'productSpuIds',
formData.value.productSpuIds,
);
}
if (formData.value.productCategoryIds) {
await formApi.setFieldValue(
'productCategoryIds',
formData.value.productCategoryIds,
);
}
const { valid } = await formApi.validate();
if (!valid) {
return;

View File

@@ -49,6 +49,19 @@ const [Form, formApi] = useVbenForm({
const [Modal, modalApi] = useVbenModal({
async onConfirm() {
// 同步商品/分类选择到表单,确保验证时能获取到值
if (formData.value.productSpuIds) {
await formApi.setFieldValue(
'productSpuIds',
formData.value.productSpuIds,
);
}
if (formData.value.productCategoryIds) {
await formApi.setFieldValue(
'productCategoryIds',
formData.value.productCategoryIds,
);
}
const { valid } = await formApi.validate();
if (!valid) {
return;

View File

@@ -52,8 +52,21 @@ const [Form, formApi] = useVbenForm({
const [Modal, modalApi] = useVbenModal({
async onConfirm() {
// 在验证前同步 formData.rules 到表单中
// 在验证前同步 formData 中的值到表单中
await formApi.setFieldValue('rules', formData.value.rules || []);
// 同步商品/分类选择到表单,确保验证时能获取到值
if (formData.value.productSpuIds) {
await formApi.setFieldValue(
'productSpuIds',
formData.value.productSpuIds,
);
}
if (formData.value.productCategoryIds) {
await formApi.setFieldValue(
'productCategoryIds',
formData.value.productCategoryIds,
);
}
const { valid } = await formApi.validate();
if (!valid) {
return;