diff --git a/docs/generator/demo.md b/docs/generator/demo.md
new file mode 100644
index 000000000..405ee2a9c
--- /dev/null
+++ b/docs/generator/demo.md
@@ -0,0 +1,29 @@
+---
+order: 3
+title: 案例演示
+toc: menu
+---
+
+### 浮窗接入
+
+用于 schema 的可视化修改
+
+
+
+### 侧栏配置
+
+使用 settings/commonSettings 自由配置左右侧栏内容,并使用 widgets 注入和使用自定义组件
+
+“计数器”是自定义组件。
+
+
+
+### 自定义布局
+
+
+
+### Schema 互转
+
+使用 `transformer` 这个 props,进行 schema 的互转
+
+
diff --git a/docs/generator/faq.md b/docs/generator/faq.md
new file mode 100644
index 000000000..07ea0fe93
--- /dev/null
+++ b/docs/generator/faq.md
@@ -0,0 +1,9 @@
+---
+order: 4
+title: 常见问题
+toc: content
+---
+
+**1、如何控制编辑器高度**
+
+给组件外层要包裹的 div 设置高度即可,否则为默认值 min-height: 30vh
diff --git a/docs/generator/index.md b/docs/generator/index.md
index e07887b99..91cd97389 100644
--- a/docs/generator/index.md
+++ b/docs/generator/index.md
@@ -1,18 +1,16 @@
---
order: 1
-title: 使用文档
-toc: content
+title: 如何使用
+toc: menu
---
-## 如何使用
-
-### 安装
+## 安装
```bash
npm i fr-generator
```
-### 代码演示
+## 代码演示
```jsx
/**
@@ -101,34 +99,3 @@ export default Demo;
| copyValue | 将现有 schema 拷贝到剪贴板 | - |
| getErrorFields | 获取配置项校验错误 | - |
-## 案例演示
-
-### 浮窗接入
-
-用于 schema 的可视化修改
-
-
-
-### 侧栏配置
-
-使用 settings/commonSettings 自由配置左右侧栏内容,并使用 widgets 注入和使用自定义组件
-
-“计数器”是自定义组件。
-
-
-
-### 自定义布局
-
-
-
-### Schema 互转
-
-使用 `transformer` 这个 props,进行 schema 的互转
-
-
-
-## 常见问题
-
-**1、如何控制编辑器高度**
-
-给组件外层要包裹的 div 设置高度即可,否则为默认值 min-height: 30vh
diff --git a/tools/schema-generator/package.json b/tools/schema-generator/package.json
index 2d5532f84..daa81b1be 100644
--- a/tools/schema-generator/package.json
+++ b/tools/schema-generator/package.json
@@ -1,13 +1,13 @@
{
"name": "fr-generator",
- "version": "2.7.5",
+ "version": "2.7.8",
"main": "dist/index.js",
"module": "dist/index.esm.js",
"typings": "dist/index.d.ts",
"scripts": {
"beta": "npm publish --tag beta",
"build": "father-build",
- "prepare": "npm run build",
+ "prepare": "yarn build",
"prettier": "prettier --write \"**/*.{js,jsx,tsx,ts,less,md,json}\"",
"postpublish": "git push --tags",
"test": "umi-test",
diff --git a/tools/schema-generator/src/Provider.jsx b/tools/schema-generator/src/Provider.jsx
index d6000112e..4b91b1c77 100644
--- a/tools/schema-generator/src/Provider.jsx
+++ b/tools/schema-generator/src/Provider.jsx
@@ -74,6 +74,7 @@ function Provider(props, ref) {
preview: false, // preview = false 是编辑模式
schema: {},
selected: undefined, // 被选中的$id, 如果object/array的内部,以首字母0标识
+ settingsForm: null,
});
const [errorFields, setErrorFields] = useState([]);
@@ -186,11 +187,14 @@ function Provider(props, ref) {
const getErrorFields = () => errorFields;
+ const getSettingsForm = () => state.settingsForm;
+
useImperativeHandle(frwRef, () => ({
getValue,
setValue,
copyValue,
getErrorFields,
+ getSettingsForm,
}));
// TODO: flatten是频繁在变的,应该和其他两个函数分开
diff --git a/tools/schema-generator/src/components/Settings/GlobalSettings.jsx b/tools/schema-generator/src/components/Settings/GlobalSettings.jsx
index 4fe6b1ac7..88af766ed 100644
--- a/tools/schema-generator/src/components/Settings/GlobalSettings.jsx
+++ b/tools/schema-generator/src/components/Settings/GlobalSettings.jsx
@@ -23,6 +23,10 @@ export default function GlobalSettings({ widgets }) {
}
}, [frProps]);
+ useEffect(() => {
+ setGlobal({ settingsForm: form });
+ }, []);
+
return (