Skip to content

Commit 56f58d4

Browse files
committed
update doc
1 parent e51f643 commit 56f58d4

File tree

4 files changed

+9
-10
lines changed

4 files changed

+9
-10
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
* 使用了一些[HOC](https://facebook.github.io/react/docs/higher-order-components.html)之类的技巧, 将parse schema的过程独立出来, 效率应该会好很多
3636
* 优化querySchema, 可以配置图标/默认值等, 参考[test.querySchema.js](src/schema/test.querySchema.js)
3737
* 优化dataSchema, 支持showType属性, 支持配置默认值/校验规则/disabled等, 参考[test.dataSchema.js](src/schema/test.dataSchema.js)
38-
* 优化tableConfig, 新增showInsert/showUpdate/showDelete配置, 参考[test.config.js](src/schema/test.config.js)[DBTable.DEFAULT_CONFIG](src/components/DBTable/index.js#L20)
38+
* 优化tableConfig, 新增showInsert/showUpdate/showDelete配置, 参考[test.config.js](src/schema/test.config.js)[DBTable.DEFAULT_CONFIG](src/config.js#L68)
3939
* insert/update/delete后, 不再刷新整个表格
4040
* 其他用户体验上的优化
4141
* 重写mock数据的逻辑

docs/AsyncSchema.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
}
2323
```
2424

25-
注意querySchema/dataSchema不是要求必须返回的,服务端甚至可以返回一个空的对象:`data: {}`,参考[后端接口规范](Ajax.md#L103),也可以参考[MockAjax.js](../src/utils/MockAjax.js#L265)里的例子。
25+
注意querySchema/dataSchema不是要求必须返回的,服务端甚至可以返回一个空的对象:`data: {}`,参考[MockAjax.js](../src/utils/MockAjax.js#L265)里的例子,也可以参考[后端接口规范](Ajax.md)
2626

27-
剩下的问题就是,如何将本地的schema(本地的{tableName}.querySchema.js文件)和远程的schema合并。大概的逻辑如下:
27+
剩下的问题就是,如何将本地的schema(本地的`{tableName}.querySchema.js`文件)和远程的schema合并。大概的逻辑如下:
2828

2929
1. 如果找不到本地schema,就以远程schema为准;
3030
2. 如果本地schema和远程schema都不存在,报错;
31-
3. 如果本地schema和远程schema都存在,要将二者合并作为最终的schema。合并时已本地schema为基准,以key为标识,相同key的字段会被合并
31+
3. 如果本地schema和远程schema都存在,要将二者合并作为最终的schema。合并时以本地schema为基准,以key为标识,相同key的字段会被合并
3232
* 某个key如果在远程和本地都存在,远程的配置会覆盖本地的配置,合并逻辑类似`newField = Object.assign{{}, local, remote}`
3333
* 某个key如果只在远程存在,认为是服务端要新增一个字段,新的key会被加到最终的schema末尾
3434
* 某个key如果只在本地存在,就保持原样
@@ -43,9 +43,8 @@
4343

4444
## ignoreSchemaCache
4545

46-
出于性能考虑,异步schema模式下,我只会在刚初始化某个表时请求一次服务端并合并schema,然后将schema缓存起来。后续再访问这个表的时候(比如在侧边栏菜单中切换)会直接读取缓存的schema。这样有个问题就是服务端接口变化后,要刷新下页面才能看到效果,在某些情况下可能不太方便。所以提供了一个ignoreSchemaCache配置,默认值false。当ignoreSchemaCache=true时,每次组件初始化都会重新请求后端接口并合并schema。服务端接口变化时,侧边栏中切换下就能看到效果了,不用刷新整个页面。
46+
出于性能考虑,异步schema模式下,我只会在刚初始化某个表时请求一次服务端并合并schema,然后将schema缓存起来。后续再访问这个表的时候(比如在侧边栏菜单中切换)会直接读取缓存的schema。这样有个问题就是服务端接口变化后,要刷新下页面才能看到效果,在某些情况下可能不太方便。所以提供了一个ignoreSchemaCache配置,默认值false。当ignoreSchemaCache=true时,每次DBTable组件初始化/切换都会重新请求后端接口并合并schema。服务端接口变化时,侧边栏中切换下就能看到效果了,不用刷新整个页面。
4747

4848
# 其他
4949

5050
异步schema可以做到很多有意思的事情,也许以后可以考虑把menu.js、路由等都做成异步的。。。我也一直在想,也许可以做成云端服务,用户只要提供配置和接口就好了,不用自己去编译js。
51-

docs/TODO.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
- [x] 修改ajax util, 全部变成async/await
1414
- [x] 想办法减小下bundle大小,或者分片
1515
- [x] 自定义logger level
16-
- [ ] 增加一个"TAB模式"?? <- 这种模式下就不需要面包屑了
16+
- [x] 增加一个"TAB模式"?? <- 这种模式下就不需要面包屑了
1717

1818
## 侧边栏组件
1919

@@ -41,7 +41,7 @@
4141
- [x] DBTable组件可配置
4242
- [x] 单条update时, 将原始数据填入modal
4343
- [x] dataSchema支持showType
44-
- [ ] dataSchema支持外键约束??
44+
- [x] dataSchema支持外键约束??
4545
- [x] dataSchema支持image/file/url的showType
4646
- [x] 表格中根据showType渲染
4747
- [x] modal中的表单增加placeholder

docs/TabMode.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
普通模式下,内容区只会显示一个组件。每次点击侧边栏的菜单项时,正在显示的组件会被替换掉。
44

5-
TAB模式下,就可以同时显示多个组件了。用户可以在多个组件中切换
5+
TAB模式下,就可以同时显示多个组件了。用户可以在多个组件间切换
66

77
![](screenshots/10.png)
88

9-
对于TAB模式,我提供了[两个配置项](src/config.js#L18)
9+
对于TAB模式,我提供了[两个配置项](../src/config.js#L18)
1010

1111
## enable
1212

0 commit comments

Comments
 (0)