我正在使用将formData
保存到服务器的rjsf表单。用户可以重新打开任何表单,它应该重新填充以前保存的formData
。但是,在重新填充Form
时,我无法选择正确的oneOf
/anyOf
选项。
例如,对于以下代码,我希望在Form
挂载时预先选择second
anyOf
选项:
import Form from "@rjsf/core";
function Test() {
return <Form formData={formData} schema={schema as any} />;
}
export default Test;
const formData = {
item: "second",
secondProp: "abc"
};
const schema = {
$id: "xxx",
type: "object",
anyOf: [
{
type: "object",
title: "first",
properties: {
item: { type: "string", enum: ["first"], default: ["first"] },
firstProp: { type: "string" }
}
},
{
type: "object",
title: "second",
properties: {
item: { type: "string", enum: ["second"], default: ["second"] },
secondProp: { type: "string" }
}
}
]
};
我不知道为什么,但是**上面提到的代码实际上在我们的项目中工作了很长一段时间,即使我无法在其他任何地方复制这种行为!**不幸的是,它最近在那里收支平衡,现在我们被淘汰了。
所以我有两个问题:
1.什么原因会导致这种模式在我们的项目中有效,而在其他地方却无效?
1.是否有任何工作方法来预先选择正确的项目?
1条答案
按热度按时间sauutmhj1#
此错误已在RJSF v5中修复🎉🎉