Merge pull request #850 from nwind/master

补充 getComponentByName 的说明
This commit is contained in:
吴多益 2020-08-13 21:34:26 +08:00 committed by GitHub
commit 0054083cf7
1 changed files with 31 additions and 4 deletions

View File

@ -277,8 +277,8 @@ JSSDK 的代码从以下地址获取:
<script src="amis/sdk.js"></script> <script src="amis/sdk.js"></script>
<script type="text/javascript"> <script type="text/javascript">
(function () { (function () {
var amis = amisRequire('amis/embed'); let amis = amisRequire('amis/embed');
amis.embed('#root', { let amisScoped = amis.embed('#root', {
type: 'page', type: 'page',
title: 'AMIS Demo', title: 'AMIS Demo',
body: 'hello world' body: 'hello world'
@ -289,10 +289,12 @@ JSSDK 的代码从以下地址获取:
</html> </html>
``` ```
### 控制 amis 的行为
`amis.embed` 函数还支持以下配置项来控制 amis 的行为,比如在 fetcher 的时候加入自己的处理逻辑,这些函数参数的说明在前面也有介绍。 `amis.embed` 函数还支持以下配置项来控制 amis 的行为,比如在 fetcher 的时候加入自己的处理逻辑,这些函数参数的说明在前面也有介绍。
```js ```js
amis.embed( let amisScoped = amis.embed(
'#root', '#root',
{ {
type: 'page', type: 'page',
@ -336,4 +338,29 @@ amis.embed(
} }
} }
); );
``` ```
同时返回的 `amisScoped` 对象可以获取到 amis 渲染的内部信息,它有如下方法:
`getComponentByName(name)` 用于获取渲染出来的组件,比如下面的示例
```json
{
"type": "page",
"name": "page1",
"title": "表单页面",
"body": {
"type": "form",
"name": "form1",
"controls": [
{
"label": "Name",
"type": "text",
"name": "name1"
}
]
}
}
```
可以通过 `amisScoped.getComponentByName('page1.form1').getValues()` 来获取到所有表单的值,需要注意 page 和 form 都需要有 name 属性。