# amis--使用总结
总结了 Amis一些使用技巧,帮助初学者入门
当前版本 Amis 1.1.0
demo预览:
支持了snowpack,可10秒内启动
SnowPack 启动:
```
yarn && yarn snowpack
```
WebPack 启动,请耐心等待...
react-app-rewired 更改为webpack-dev-server,方便扩展
```
yarn && yarn server
```
整理的内容包括:
## 1. HelloWorld (基于 Create React App)
文件路径:[src/pages/demos/Helloworld.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/Helloworld.tsx)
## 2. Amis 基本使用
提供AmisRender 用来所有页面进行注册使用。
[src/pages/AmisRender.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/AmisRender.tsx)
## 3. Amis 组件通信
3.1 target-Name 方式
[src/pages/demos/communication/target-name/index.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/communication/target-name/index.tsx)
3.2 桥接方式(非官方方式)
[src/pages/demos/communication/bridge/index.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/communication/bridge/index.tsx)
JSSDK 使用方式会返回scope,并且可以scope.getComponentByName("form1") 方式获取组件实例,
```js
let scope = amisEmbed.embed('#root',{
"type":"page",
"body":[
{
"type":"form",
"name":"form1"
}
]
},{},{})
scope.getComponentByName("form1")
```
NPM方式的使用,需要做一个桥来返回实例
原理是制造一个空的自定义组件,负责amis 实例的获取和外部组件通信。
可以根据需要暴露相应的属性、方法对外通信。使用方式可以查看
[src/pages/demos/communication/bridge/index.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/communication/bridge/index.tsx)
## 4. Amis 自定义组件
4.1 FormItem类
[src/pages/demos/customization/AntdSelect.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/customization/AntdSelect.tsx)
4.2 非Form类:
[src/pages/demos/customization/NormalRender.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/customization/NormalRender.tsx)
4.3 远程获取Amis 组件,运行时注册方案。
[src/pages/demos/amisRegister/index.tsx](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/amisRegister/index.tsx)
## JSSDK自定义组件方式
写在这里,不在项目里写了
1.引入注册类
2.使用React包其他技术栈的组件
```js
var amisEmbed = amisRequire('amis/embed');
var amisFunc = amisRequire('amis');
//声明自定义组件,不能写JSX,只能以React.createElement的方式
//为了写起来方便,可以在babel-repl 网站上转换 https://www.babeljs.cn/repl
amis.define("customComponent", function (require, exports, module) {
const React = amisRequire('react');
class CustomComponent extends React.Component {
componentDidMount(){
//在这个方法里挂载其他技术栈的dom
//比如:
$("#custom").append("<div/>")
}
render(){
return React.createElement("div", { id: "custom"}, "自定义");
}
}
module.exports = function(props) {
return React.createElement(CustomComponent, props);
}
}
}
//注册自定义组件
amisFunc.Renderer({
test: /(^|\/)customComponent$/
})(customComponent);
//amis挂载
amisEmbed.embed('#root',{
"type":"page",
"body":[
{
"type":"customComponent"
}
]
}, {}, { fetcher:function()=>{},...}//amisEnv);
```
## 5. Amis 其他
5.1 国际化方案
国际化使用阿里的 [kiwi-intl](https://github.com/alibaba/kiwi)
[国际化样例](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/localePage/index.tsx)
Amis 系统资源串替换:
[src/i18n/amisLocaleRegister.ts](https://github.com/zimo888/amis-tutorial/blob/master/src/i18n/amisLocaleRegister.ts)
一般公司使用 功能名称.子功能名称.消息名称=消息 方式命名
如: "login.validateAccount.accountError":"account is invalidate";
Amis 使用的是 {"确定":"confirm"} 以中文字符串为key,
目前就一个资源文件,项目和Amis的格式不一致的,需要自定义国际化文本来替换内部的资源串。
5.2 主题方案
[src/scss/default.scss](https://github.com/zimo888/amis-tutorial/blob/master/src/scss/default.scss)
Amis使用Sass 作为样式主题,项目开发中需要对Amis默认的样式进行覆盖的,也通用需要Sass进行主题管理,导入amis之后,进行覆盖即可。
实现方式在src/scss 文件夹中,导入自己的default.scss 即可。
5.3 Amis 结合Antd
[src/pages/demos/customization](https://github.com/zimo888/amis-tutorial/blob/master/src/pages/demos/customization)
提供了一些Antd 的自定义组件样例。
5.4 增加开发时跨域请求接口配置
[config-overrides.js](https://github.com/zimo888/amis-tutorial/blob/master/config-overrides.js)
## 6. Amis工具方法使用
addRules 自定义校验规则
[addRules](src/pages/demos/amisUtils/addRules.tsx)
registerIcon 自定义图标(按钮暂时不能用自定义图标,Amis用的是font Icon)
[registerIcon](src/pages/demos/amisUtils/registerIcon.tsx)
## 7. 构建编译
支持 [snowpack](snowpack.config.js)
支持 [webpack](webpack.config.js)
使用方式都写到了对应文件的目录中。
没有合适的资源?快使用搜索试试~ 我知道了~
amis-summary:Amis几种使用总结
共51个文件
tsx:21个
js:7个
ts:5个
需积分: 50 12 下载量 192 浏览量
2021-03-04
05:49:13
上传
评论 1
收藏 283KB ZIP 举报
温馨提示
amis--使用总结 总结了Amis一些使用技巧,帮助初学者入门 当前版本Amis 1.1.0 演示预览: 支持了snowpack,可10秒内启动 SnowPack启动: yarn && yarn snowpack WebPack启动,请耐心等待... react-app-rewired更改为webpack-dev-server,方便扩展 yarn && yarn server 整理的内容包括: 1. HelloWorld(基于Create React App) 文件路径: 2. Amis基本使用 提供AmisRender用来所有页面进行注册使用。 3. Amis组件通信 3.1 target-Name方式 3.2开拓方式(非官方方式) JSSDK使用方式会返回scope,并且可以scope.getComponentByName(“ form1”)方式获取组件实例, l
资源详情
资源评论
资源推荐
收起资源包目录
amis-summary-main.zip (51个子文件)
amis-summary-main
.env 25B
public
index.html 364B
config-overrides.js 3KB
yarn.lock 648KB
server.js 429B
webpack.config.js 4KB
src
pages
demos
Helloworld.tsx 841B
amisUtils
registerIcon.tsx 1KB
CustomIcon.tsx 471B
addRules.tsx 1KB
localePage
index.tsx 787B
amisRegister
AmisComponentRegister.tsx 3KB
index.tsx 1KB
ComponentMock.ts 587B
communication
target-name
index.tsx 2KB
normal.tsx 777B
bridge
index.tsx 3KB
bridge.tsx 2KB
customization
FormItemRender.tsx 973B
NormalRender.tsx 1KB
Normal.tsx 2KB
AntdSelect.tsx 1KB
FormItem.tsx 725B
AmisRender.tsx 1KB
HomePage
index.tsx 3KB
MenuConfig.ts 3KB
index.tsx 466B
i18n
index.ts 331B
amisLocaleRegister.ts 11KB
logo.svg 3KB
index.css 366B
scss
_amis.scss 85B
default.scss 74B
_default-variables.scss 2KB
reportWebVitals.js 362B
App.test.js 246B
setupTests.js 244B
App.css 534B
App.tsx 222B
react-app-env.d.ts 40B
routes
index.tsx 576B
.yarnrc 60B
snowpack
index.html 978B
favicon.ico 3KB
css
default.css 420KB
tsconfig.json 689B
README.md 6KB
tsconfig_ext.json 8B
snowpack.config.js 699B
.gitignore 328B
package.json 2KB
共 51 条
- 1
janejane815
- 粉丝: 30
- 资源: 4610
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 实验2-实验报告(1).doc
- 实验4-实验报告.doc
- 实验6-实验报告-模板.doc
- 实验5-1-实验报告.doc
- 实验5-实验报告.doc
- 实验4-讲稿-进程通信.docx
- 实验7-1实验报告-模板.doc
- 实验7-2实验报告-模板.doc
- 实验8-实验报告-模板.doc
- 在win32汇编环境中使用GDI+显示jpg图片
- 有源滤波器matlab simulink 采用simulink搭建有源滤波器模型,有操作视频和报告资料,运行稳定,效果显著
- C++大作业:实现小游戏《飞翔的小鸟》完整代码
- 基于SSM的珠宝商城后台管理系统
- Halcon液位检测例程代码与图像资源
- 仅仅是被引用的一张小小的图片
- PHP开发的QQ互联分发源码V1.0 无需申请对接QQ登陆
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0