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'));

  }
相关推荐
煜bart26 分钟前
使用 TypeScript 实现算法处理
开发语言·前端·javascript
Cobyte1 小时前
4.响应式系统基础:从发布订阅模式的角度理解 Vue3 的数据响应式原理
前端·javascript·vue.js
晓得迷路了1 小时前
栗子前端技术周刊第 124 期 - ESLint v10.2.0、React Native 0.85、Node.js 25.9.0...
前端·javascript·eslint
菩提树下的凡夫1 小时前
Qt5环境下Json数据按照设定顺序初始化修改和显示
json
星空椰1 小时前
JavaScript基础:运算符和流程控制
开发语言·javascript·ecmascript
窝子面2 小时前
NestJs+MongoDB+Deepseek+Langchain实现ai聊天助手
javascript·数据库·人工智能·mongodb
下北沢美食家2 小时前
React面试题2
前端·react.js·前端框架
吴声子夜歌2 小时前
ES6——Calss详解
javascript·es6·原型模式
❆VE❆2 小时前
虚拟列表原理与实战运用场景详解
前端·javascript·css·vue.js·html·虚拟列表
A__tao2 小时前
一键实现 SQL → ES Mapping 转换,支持自定义 `text` 为 `json` 转换
sql·elasticsearch·json