# 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 下载量 65 浏览量
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
- 粉丝: 29
- 资源: 4610
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Facebook.apk
- 推荐一款JTools的call-this-method插件
- json的合法基色来自红包东i请各位
- 项目采用YOLO V4算法模型进行目标检测,使用Deep SORT目标跟踪算法 .zip
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
- 基于Python和HTML的tb商品列表查询分析设计源码
- 基于国民技术RT-THREAD的MULTInstrument多功能电子测量仪器设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0