amis百度前端框架,在js中使用amis写json转页面

amis百度前端框架,在js中使用用amis写的json页面

1.在项目中使用百度 amis 的sdk做开发库。

javascript 复制代码
<script src="./sdk/sdk/sdk.js"></script>

2。加载sdk中的库:

javascript 复制代码
            amis = amisRequire('amis/embed');
            amisLib = amisRequire('amis');
            const match = amisRequire('path-to-regexp').match;
            let React = amisRequire('react');
             react_dom = amisRequire('react-dom');

3.创建一个主页面(代码片段里面重要是创建了一个div元素, 这个不重要):

代码中主要用了custom组件,在这个组件中可以写js,通过js创建 一个div元素;

javascript 复制代码
var addcontent= document.createElement("div")

addcontent.id = "content";
javascript 复制代码
{
						"type": "panel",
						"title": "面板1",
						//"className": "Panel--danger",
						"sm": 3,
						"body": [
							{
								name: 'menucustom',
								id: "menucustom",
								type: 'custom',
								inline:false, //默认使用 div 标签,如果 true 就使用 span 标签
								onMount: (dom, value, onChange,props) => {



									// if(ros==null){
									// 	props.onAction(
									// 		event,
									// 		{
									// 			type: 'action',
									// 			label: '弹个框',
									// 			actionType: 'dialog',//dialog  toast
									// 			dialog: {
									// 				title: '提示: ',
									// 				body: 'ros节点创建失败!'
									// 			}
									// 		},
									// 		{} // 这是 data
									// 	);
									//
									// 	return;
									// }


							
									var addcontent= document.createElement("div");
									addcontent.id = "content";
									
									dom.appendChild(addcontent);

						
					
								}
							}


						],

					},

给id=content 的 div元素下生成百度amis组件中的json配置出的页面

javascript 复制代码
 function createHtml(displays_index) {


    react_dom = amisRequire('react-dom');
    const schema = {
      type: 'page',
      title: 'Layout Example',
      body: [
        {
          type: 'tabs',
          tabs: [
            {
              title: 'Tab 1',
              body: 'This is the content of Tab 1.',
            },
            {
              title: 'Tab 2',
              body: 'This is the content of Tab 2.',
            },
          ],
        },
      ],
    };

    react_dom.render( amisLib.render(schema), document.getElementById('content'));

  }
相关推荐
书中自有妍如玉25 分钟前
layui时间选择器选择周 日月季度年
前端·javascript·layui
Riesenzahn26 分钟前
canvas生成图片有没有跨域问题?如果有如何解决?
前端·javascript
f89790707028 分钟前
layui 可以使点击图片放大
前端·javascript·layui
小贵子的博客29 分钟前
ElementUI 用span-method实现循环el-table组件的合并行功能
javascript·vue.js·elementui
明似水35 分钟前
掌握 Flutter 中的 `Overlay` 和 `OverlayEntry`:弹窗管理的艺术
javascript·flutter
忘不了情1 小时前
左键选择v-html绑定的文本内容,松开鼠标后出现复制弹窗
前端·javascript·html
码上飞扬1 小时前
前端框架对比选择:如何在众多技术中找到最适合你的
vue.js·前端框架·react·angular·svelte
笃励1 小时前
Angular面试题四
前端·javascript·angular.js
前端专业写bug1 小时前
jspdf踩坑 htmltocanvas
java·前端·javascript
哈哈哈hhhhhh1 小时前
vue 入门一
前端·javascript·vue.js