百度amis平台经验分享(2)

server/2024/10/9 13:15:28/

1. amis里面的脚本如何调试? 可以在script里面加入debugger语句。

"actionType": "custom" ,script里面加入debugger;语句,可以在控制台查看context和event的信息

javascript">"onEvent": {"confirm": {"actions": [{"actionType": "custom","script":"debugger;" +"var form1 = event.context.scoped.getComponentById('formadd').getData();" +"event.context.scoped.getComponentById('formtable').getData().formadd=form1;"+"event.context.scoped.getComponentById('formtable').submit();"}]}}

2. 会使用amisScoped.getComponentById('xx'),amisScoped.getComponentByName('xx')获取实例的值。 以上用在多表单提交上比较有用(多个form合并提交)

也可以使用event.context.scoped.getComponentById("xxx");

3. onClick: (e, props) => {}的使用。

javascript">{"label": "提交表单","actionType": "confirm","primary": true,"type": "button",onClick: (e, props) => {console.log('消息通知',e,props);//console.log("${__rendererData|json}")//props.formStore.setValues({name: 'amis'});}}

 

 

4. amsi的组件会转成react,特别是body,其实就是组件的内容,或者说body里面的内容就是组件的子组件

5. type:tpl ,tpl:`这里可以写类似于JSP一样的脚本`

javascript">        { 'type': 'tpl',  'name': 'fileIds', 'label': '培训计划附件'  , "tpl": `<%console.log(data.fileIds); if (data.fileIds) { var urlArray = data.fileIds.split(',');for (var i = 0; i < urlArray.length; i++) { %><a href="<%= urlArray[i] %>" target="_blank"><%= urlArray[i].split('/').pop() %></a><br/><% }} %>`},

 

 

6. data属性很重要,在很多地方都能用到,例如上面的这个例子 5,就用到了data里面的数据。

7. 总体结构要清楚,type,body这样的无限递归,

8. 官方文档也不是所有都有,还需要GPT来协助加上搜索引擎,还有自己的debug经验,不是所有答案都能网上找到现成的,需要自己去挖掘。

9. 如果请求的数据不符合要求,可以修改,同理,接收的数据不符合要求,也可以修改。可以看看官方文档。 

"requestAdaptor": function (data, ctx) {console.log("-------------",data,ctx);//不需要返回,直接改data就可以
}
"adaptor": function (payload, response) {console.log("-------------",payload,response);return payload;
}
javascript">"requestAdaptor": function (data, ctx) {// 这里打印出原始的 data 结构,不需要returnconsole.log("原始 data 数据:",data);}"adaptor": function (payload, response) {//需要返回,这里是对结果的拦截,可以修改结果return payload;}

 

 

 


http://www.ppmy.cn/server/129282.html

相关文章

iPhone/iPad技巧:如何解锁锁定的 iPhone 或 iPad

“在我更新 iPhone 上的软件后&#xff0c;最近我遇到了iPhone 被锁定到所有者的消息&#xff0c;该如何解决&#xff1f;” 根据我们的研究&#xff0c;许多用户在 iOS 18 更新或恢复出厂设置后都会遇到同样的问题。只要出现问题&#xff0c;您就无法使用 iPhone 或 第 1 部分…

RDD的介绍、RDD的特点、创建RDD数据

文章目录 1. RDD介绍1.1 Spark开发方式1.1.1 交互式开发1.1.2 脚本式开发 1.2 Spark支持的开发语言1.3 RDD介绍 2. RDD特性3. 创建RDD数据3.1 Python数据转化为RDD3.2 文件数据HDFS转化为RDD3.3 RDD分区3.4 小文件数据读取 1. RDD介绍 1.1 Spark开发方式 1.1.1 交互式开发 通…

Concurrently 一键启动客户端和服务器

目录 简介 安装 使用场景 同时运行多个 npm scripts 顺序运行 npm scripts 运行命令和 npm scripts 传递环境变量和输入 前缀日志 案例 简介 concurrently 是一个运行并发任务的工具库,可以帮助我们在 Node.js 中轻松管理多个异步任务。 安装 使用 npm 安装 concur…

互斥锁、原子锁、自旋锁

多线程编程中&#xff0c;锁是一种同步机制&#xff0c;用于控制多个线程对共享资源的访问。互斥锁&#xff08;Mutex&#xff09;、原子锁、自旋锁&#xff08;Spinlock&#xff09;是常见的锁类型&#xff0c;它们有各自的特点和用途&#xff1a; 互斥锁&#xff08;Mutex&am…

【HTTPS】深入解析 https

我的主页&#xff1a;2的n次方_ 1. 背景介绍 在使用 http 协议的时候是不安全的&#xff0c;可能会出现运营商劫持等安全问题&#xff0c;运营商通过劫持 http 流量&#xff0c;篡改返回的网页内容&#xff0c;例如广告业务&#xff0c;可能会通过 Referer 字段 来统计是…

巧用armbian定时任务控制开发板LED的亮灭

新买了个瑞莎 3E 开发板,号称最小SBC,到了之后简直玩开了花,各种折腾后 安装好armbian系统,各种调优。 不太满意的地方:由于板子太小的原因,导致两个USBTYPEC的接口距离很近,所以买的OTG转接口如果有点宽的话 会显得特别拥挤。 还有就是每天晚上天黑了之后,卧室…

深度学习之贝叶斯分类器

贝叶斯分类器 1 图解极大似然估计 极大似然估计的原理&#xff0c;用一张图片来说明&#xff0c;如下图所示&#xff1a; ​ 例&#xff1a;有两个外形完全相同的箱子&#xff0c;1号箱有99只白球&#xff0c;1只黑球&#xff1b;2号箱有1只白球&#xff0c;99只黑球。在一次…

蓝牙模块(BT04/HC05)

目录 一、介绍 二、模块原理 1.原理图与外形尺寸 2.引脚描述 3.蓝牙模块基础AT指令介绍 三、程序设计 usart3.h文件 usart3.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 BT04A是一款蓝牙低功耗&#xff08;Bluetooth Low Energy, BLE&#xff09;模块&…