1.安装官网react脚手架的typescript版本css
$ npx create-react-app my-app --typescript
$ # 或者
$ yarn create react-app my-app --typescript
复制代码
2.安装antd、redux与lessreact
npm install -S antd
npm install redux -S
复制代码
注意这里:安装less有一些特殊,create-react-app是集成了sass,可是并无集成less,这里安装less须要进行一下操做webpack
npm run eject
复制代码
对creat react app进行暴露配置文件(此过程不可逆)。而后git
npm install less less-loader
复制代码
咱们需求修改 webpack.config.js 配置文件github
test: /.css/ test: /.css$/ 的 use 数组配置增长 less-loaderweb
{
test: /\.(css|less)$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
},
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway ], flexbox: 'no-2009', }), ], }, }, { loader: require.resolve('less-loader') // compiles Less to CSS } ], }, 复制代码
这样才可以配置好less 而后环境搭建完咱们就能够愉快的进行敲代码啦!typescript
打开界面:npm
红色框框处使咱们第一个须要配置的地方:redux
1.打开src目录下面的config.js
2.进行配置:
复制代码
sub对应的为为左侧导航。content为导航所对应的表格字段
白色箭头所指数组的前三个元素分别对应导航key值,导航的图标,以及导航的名称。
数组第四个元素为数组,对应为导航子元素的key值以及子元素的名称。
注意:每次添加完子元素时。都要在下面content数组中对应的key值中添加相应的表格字段,好比班级的ke y为0,那就在content数组中0位置添加表格字段。
表格字段可选width,title,以及是否能够被编辑editable
复制代码
1.都设置完成后打开界面
复制代码
2. 以下图能够添加表格内容,删除内容,直接点击空表格进行编辑(刷新页面不会使数据丢失)
复制代码
3.在admin.tsx中暴露新增数据与删除数据的接口,删除元素为子导航的key+被删除数据的key,添加为被删除数据的key+子导航的key。
复制代码
首先构建目录结构,总体的目录结构为:后端
1.src为咱们编码的位置
2.admin为父组件
3.components为子组件
4.sessionStorage里面的api.js 暴露删除以及添加数据的接口,其次保证每次页面刷新存储在redux中的数据不会消失,页面中的数据不会丢失。
5.store就是咱们的仓库,redux存储的数据以及action(行为)
6.config.js:从antd中抽取出来的配置文件,项目完成后只需配置config.js中的文件便可实现动态导航以及表格,在经过暴露的接口进行与后端进行交互。
复制代码
主要交互思路:将antd中表格的配置配置数据公共提取为一个js文件,让antd表格每次初始化依据config.js中咱们本身配置的内容进行初始化,代码将配置文件中的数据进行循环构形成一个导航:
Github:点我访问 看完源码后真的有帮助到你!请给我个star !!!!!!!感谢!万分感谢!大佬点个star吧