fix: disappearing of sub-form data (#2888)
This commit is contained in:
parent
dc4754750d
commit
75f97e7e0c
@ -56,6 +56,15 @@ const useLazyLoadAssociationFieldOfForm = () => {
|
|||||||
variables
|
variables
|
||||||
.parseVariable(variableString, recordVariable)
|
.parseVariable(variableString, recordVariable)
|
||||||
.then((value) => {
|
.then((value) => {
|
||||||
|
// fix https://nocobase.height.app/T-2288
|
||||||
|
// 造成这个问题的原因有以下几点:
|
||||||
|
// 1. 编辑表单自身会请求数据,并在请求数据时,会在 appends 参数中加上所有的关系字段路径(包括子表单中的);
|
||||||
|
// 2. 而 `变量预加载中` 也会请求对应关系字段的数据,但是请求的数据是不包含子表单中的关系字段的;
|
||||||
|
// 3. 所以,当 `变量预加载` 的请求晚于编辑表单的请求时,就会造成这个问题;
|
||||||
|
// 更优的解决方案是:在 `变量预加载` 中也加上子表单中的关系字段路径,并删除编辑表单请求数据的逻辑(因为没必要了)。
|
||||||
|
// 但是这样改动较大,可以等之后 e2e 测试较完备后再处理。
|
||||||
|
if (field.value) return;
|
||||||
|
|
||||||
field.value = transformVariableValue(value, { targetCollectionField: collectionField });
|
field.value = transformVariableValue(value, { targetCollectionField: collectionField });
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user