fix: 修改 review 中的问题

This commit is contained in:
jason
2025-06-12 09:20:28 +08:00
parent b6d2cc6c65
commit 6f1ec3e0a3
2 changed files with 18 additions and 14 deletions

View File

@@ -33,6 +33,18 @@ const [Modal, modalApi] = useVbenModal({
title: '条件配置',
destroyOnClose: true,
draggable: true,
onOpenChange(isOpen) {
if (isOpen) {
// 获取传递的数据
const conditionObj = modalApi.getData();
if (conditionObj) {
conditionData.value.conditionType = conditionObj.conditionType;
conditionData.value.conditionExpression =
conditionObj.conditionExpression;
conditionData.value.conditionGroups = conditionObj.conditionGroups;
}
}
},
async onConfirm() {
// 校验表单
if (!conditionRef.value) return;
@@ -50,17 +62,8 @@ const [Modal, modalApi] = useVbenModal({
},
});
// TODO: jason open 在 useVbenModal 中 onOpenChange 方法
function open(conditionObj: any | undefined) {
if (conditionObj) {
conditionData.value.conditionType = conditionObj.conditionType;
conditionData.value.conditionExpression = conditionObj.conditionExpression;
conditionData.value.conditionGroups = conditionObj.conditionGroups;
}
modalApi.open();
}
// TODO: jason 不需要暴露expose直接使用modalApi.setData(formSetting).open()
defineExpose({ open });
// TODO xingyu 暴露 modalApi 给父组件是否合适? trigger-node-config.vue 会有多个 conditionDialog 实例
defineExpose({ modalApi });
</script>
<template>
<Modal class="w-1/2">

View File

@@ -200,8 +200,8 @@ function addFormSettingCondition(
formSetting: FormTriggerSetting,
) {
const conditionDialog = proxy.$refs[`condition-${index}`][0];
// TODO: jason Modal 使用 useVbenModal 初始化弹出使用modalApi.setData(formSetting).open()
conditionDialog.open(formSetting);
// 使用modalApi来打开模态框并传递数据
conditionDialog.modalApi.setData(formSetting).open();
}
/** 删除条件配置 */
@@ -215,7 +215,8 @@ function openFormSettingCondition(
formSetting: FormTriggerSetting,
) {
const conditionDialog = proxy.$refs[`condition-${index}`][0];
conditionDialog.open(formSetting);
// 使用 modalApi 来打开模态框并传递数据
conditionDialog.modalApi.setData(formSetting).open();
}
/** 处理条件配置保存 */