同一个代码,在 v2.0.0-alpha.3 的 JS action 中可以运行,但是在v2.0.0-alpha.4中无法执行
v2.0.0-alpha.4 中输出
Logs
[info] Execution succeeded
在 v2.0.0-alpha.3 的输出,当然临时随便弄一个表来执行,所以提示表单提交失败
Logs
[log] 🚀 开始执行表单提交...
[error] ❌ 表单提交失败: {}
[info] Result: undefined
同一个代码,在 v2.0.0-alpha.3 的 JS action 中可以运行,但是在v2.0.0-alpha.4中无法执行
v2.0.0-alpha.4 中输出
Logs
[info] Execution succeeded
在 v2.0.0-alpha.3 的输出,当然临时随便弄一个表来执行,所以提示表单提交失败
Logs
[log] 🚀 开始执行表单提交...
[error] ❌ 表单提交失败: {}
[info] Result: undefined
2.0.0-alpha.5 也未修复
方便提供js代码吗
任意代码都不行,就是自定义按钮那里。
// 简单的表单提交代码 - 带调试输出
console.log('🔧 表单提交脚本开始执行');
// 调试输出函数
debug(msg, data = null) {
console.log(`[${new Date().toLocaleTimeString()}] ${msg}`, data || '');
}
// 主要表单提交逻辑
async function submitForm() {
try {
debug('📝 开始处理表单提交');
// 检查上下文
if (!ctx?.form) {
debug('❌ 未找到表单上下文');
return;
}
// 获取表单数据
const formData = ctx.form.getFieldsValue?.() || {};
debug('📋 表单数据', formData);
// 检查产品名称字段
const productName = formData.product_name;
debug('🎯 产品名称字段值', productName);
if (!productName) {
debug('⚠️ 产品名称为空');
if (ctx.message?.warning) {
ctx.message.warning('请选择产品名称');
}
return;
}
// 提取产品ID
const productId = productName?.id || productName;
debug('🔢 产品ID', productId);
// 调用API获取产品详情
debug('🌐 调用产品API');
const response = await ctx.api.resource('product_names').get({
filterByTk: productId
});
const productInfo = response?.data?.data;
debug('✅ 获取产品信息成功', productInfo);
// 显示成功消息
debug('🎉 表单处理完成');
if (ctx.message?.success) {
ctx.message.success('提交成功!');
}
} catch (error) {
debug('❌ 处理失败', error.message);
if (ctx.message?.error) {
ctx.message.error('提交失败: ' + error.message);
}
}
}
// 执行表单提交
debug('🚀 准备执行表单提交');
submitForm();
这里我们处理一下