文档
测试

ECS前端逻辑

POST

说明 / 示例

# 一、前端系统逻辑 # 1.页面逻辑 ## 1.1 单页机制 high/public/index.html ## 1.2 build webpack config ## 1.3 mock mock服务 demo.js 参考mock 启动: run-mock-server.js ## 1.4 package.json 调用的 autoprefixer ``` "devDependencies": { "add-asset-html-webpack-plugin": "^3.1.3", "autoprefixer": "^7.0.1" ``` # 2.src ## 2.1 app ``` +--componet --api.js --connect.js 通过Reacts上下文创建Provider --home.js 开发环境访问主页 --index.js index.html绑定的root js --indexRouter.js 首页模块路由 跳转控制js +--model --action.js --container.js --reducer.js +--index.js ``` ## 2.2 common ### 2.21 at ``` +++--common ++--at ++--react-at ++--react-editor ++--commonTable ++--editableTable ++--exportCommonModal excel到处相关 ++--importCommonModal 上传导入 ++--input --filter 筛选(shai xuan) ++--lang --editor.js --index.js --label.js --table.js ++--layout 布局 --IRLayout.js 左右布局 --RLayout.js 右布局 --siderBar.js 边 ++--paginationTable -- ++--rule --index.js --ruleSelect.js --ruleSelectForm.js --ruleSelectFrame.js ++--scrollTable ++--select ++--treeSelect ``` # 二、组件二开 ## 2.1 单据下拉维度 增加单据类型判断. ``` getData (type, typeId, access, range, isParentId, cb) { if (!type && !typeId) return; let url = ''; let {showRoot, isSync} = this.props; if (type) { switch (access) { case 'common': url = GET_DIMS_BY_CODE_URL; break; case 'data': url = GET_DIMS_ACESS_BY_CODE_URL; break; case 'manage': url = GET_DIMS_MANAGE_BY_CODE_URL; break; default: url = GET_DIMS_BY_CODE_URL; break; } request.post(url, {dimensionTypeCode: type, dimObjectId: typeId, isShowRootNode: showRoot, isSynchronize: isSync, rangeList: isParentId ? null : range}, (res)=>{ if (res.data) { cb(res.data); } }); } ``` ## 2.2 Constructor作用 React 中constructor 作用 react.js 阅读约 1 分钟 react 构造函数只有两个目的 初始化this.state 函数方法绑定到实例。 constructor(props) { super(props); this.state = { counter: 0 }; //初始化state this.handleClick = this.handleClick.bind(this); // 事件绑定 } 初始化state 可以通过属性的方法初始化,Babel将会在后台自动加上constructor class Foo extends Component { state = { loading: true }; } ## 2.3 组件传值 https://www.cnblogs.com/wentutu/p/10930399.html