# 可视化页面搭建
为什么要做这个东西,https://ltaoo.github.io/2018/02/09/%E5%8F%AF%E8%A7%86%E5%8C%96%E5%B8%83%E5%B1%80/
## 源对象
位于`src/source/lib`下的每个文件,都导出了一个对象,这个对象的结构如下:
```javascript
enum SourceObj {
// antd 组件
Component,
// 组件名
label,
// 在最终生成的代码 import { xx } from 'antd' 处使用
import,
// 在最终生成的代码 import 下方,正文上方使用
extra,
// 标志该组件是否为表单,影响编辑组件属性时的模态框
notfield,
// 出现在 constructor 函数内的代码
constructorCode,
// 就这个意思
methods,
// 会被添加到组件上的属性
props,
}
```
最终生成的代码只从该对象得到,逻辑位于`src/common/create-source.js`。
## 对象实例
在选择组件后,会生成一个新的对象,该对象仅仅在`SourceObj`上添加`uuid`属性,
```javascript
enum SourceInstance {
uuid,
// ...
}
```
## 组件
```
|-------------|------------|
| |
| App |
| |
| |---------||-----------| |
| | || | |
| | Source || Container | |
| | || | |
| |---------||-----------| |
| |
|-----------|--------------|
```
最顶层的组件是`App`,`Source`提供对象实例,`Container`负责渲染组件并提供编辑功能。
### Source
路径为`src/components/Sources`,点击生成对象实例,并传给`App`组件。
### App
路径为`src/App.js`,掌控一切,在`state`中维护了一个`instances`数组,存放所有的对象实例。
### Container
路径为`src/components/Container`,说这个是掌控一切或许更加合理,内部都是`Field`组件。
### Field
路径为`src/components/Field`,该组件是实际看到的,不仅是`antd`组件本身,还有编辑按钮,编辑表单等,对组件的编辑都会反映到实例对象上。
最终生成的代码和该组件没有关系,代码只和实例对象有关。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于 react + antd 的可视化布局工具.zip (82个子文件)
资料总结
.editorconfig 460B
yarn.lock 368KB
flow.png 79KB
src
store
index.js 2KB
App.test.js 208B
demo
index.html 917B
index.js 684B
Form.js 1KB
logo.svg 3KB
App.js 7KB
App.css 237B
components
Sources
lib
Row.js 202B
RadioGroup.js 831B
CheckboxGroup.js 1KB
Modal.js 1KB
Input.js 555B
Col.js 240B
fieldLayout.js 87B
DatePicker.js 454B
Select.js 776B
Upload.js 759B
Button.js 773B
ListItem.js 2KB
Divider.js 208B
index.js 631B
Cascader.js 1KB
Switch.js 442B
commonSchema.js 1KB
Table.js 2KB
TextArea.js 507B
Card.js 212B
DragSource.js 1KB
index.js 1KB
index.css 319B
Field
index.js 8KB
Container
index.js 3KB
index.css 137B
Editor
index.js 11KB
common
renderComponent.js 4KB
jszip-utils.js 3KB
create-page.js 6KB
constants.js 92B
actions.js 326B
util.js 6KB
add-component.js 568B
create-source.js 4KB
create-zip.js 1KB
index.js 461B
registerServiceWorker.js 4KB
index.css 591B
screenshots01.png 33KB
docs
lib
prettier@1.6.1.js 4.3MB
example.zip 111KB
manifest.json 317B
asset-manifest.json 196B
favicon.ico 4KB
index.html 1KB
static
js
main.a90331c7.js.map 2.36MB
main.a90331c7.js 310KB
css
main.d9a770bd.css.map 2KB
main.d9a770bd.css 925B
service-worker.js 3KB
package.json 3KB
public
lib
prettier@1.6.1.js 4.3MB
example.zip 111KB
manifest.json 317B
favicon.ico 4KB
index.html 3KB
.gitignore 286B
README.md 2KB
test.js 76B
config
jest
cssTransform.js 320B
fileTransform.js 311B
polyfills.js 856B
webpack.config.dev.js 12KB
paths.js 2KB
webpack.config.prod.js 15KB
env.js 3KB
webpackDevServer.config.js 5KB
scripts
build.js 5KB
test.js 734B
start.js 3KB
共 82 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功