1. 功能概述
用户可以通过宜搭中的「动作面板」去写 JS 代码,从而实现自己的业务逻辑或逻辑判断。
通过动作面板,您可以「更加方便的组织和复用代码」、「实现复杂交互」。
- 通过JS面板编写的逻辑一般情况下是 不会 对 历史数据 生效的。
2. 使用动作面板的代码输入
通过 export 的函数,将会被「动作面板」感知,可以在动作面板中选中当前函数,进行调用。
以下代码可参考:
注:
只有符合 export function xxx() {} 的写法才会在组件动作面板中被识别。并且 export 的方法名称不允许重复。
如果希望手动获取或者调用面板里的动作可以直接 this.methodName(); 调用。
2.1 使用动作面板的动作绑定
宜搭中,大部分组件支持了动作绑定。
动作绑定,指的是将「组件的动作」和「动作面板中定义的函数」进行绑定。
如图:
2.2 获取回调函数参数
获取回调函数中设置参数
(1)在动作设置中设置参数
新建动作
(2)获取方式,可参考如下代码:
3. API 使用手册
详情请参考:https://developers.aliwork.com/docs/api/about
4. 如何调试 JS 代码
我们可以通过 Chrome 的 Devtools 来调试(注:如果经常调试,建议通过浏览器访问宜搭)。
常用的是: Console 、 Network 、 Elements 面板。
宜搭的展示页,基于的是 React 技术。所以也可以安装 React Developer Tools 来调试宜搭的界面。
4.1 在代码中使用 debugger 关键字
在 JS 函数中,可以使用 debugger 关键字,以阻断程序做调试,以下视频演示下如何基础使用 debugger 。
4.2 如何引用第三方 JS 资源
请特别注意,要保证自己引用的 JS 资源的安全性。可参考以下代码:
4.3 如何学习 JS
- 宜搭开发者中心
- JavaScript 秘密花园
- JavaScript | MDN
- 书本推荐:《JavaScript高级程序设计》最新版
- 社区: 掘金 、 Stack Overflow 、 Github 等
5. 子表单 API 优化
5.1 获取子表单数据
5.2 识别子表单变化
子表单数据变更时,除单元格变化引起的数据变更外,公式计算、数据联动或者外部赋值都会触发子表单的 onChange 事件,为了方便用户判断识别,现已引入 changes.fieldId 来标注当前变更的单元格数据信息。
5.3 表格内数据变化时,更新相关行数据
可利用 updateItemValue API 接口进行单元格赋值。
例如设备变更时,通过接口补全当前子表单其他信息。
不需要再像之前一样通过 getComponent().setValue 一个个单独赋值。(该赋值方式在异步场景,无法保证更新整个表单值)
6. 常见错误
6.1 Cannot read property ’$’ of undefined.
6.2 This request has been blocked; the content must be served over HTTPS
宜搭域名是 https://www.yidaapps.com 所以,受到浏览器安全限制,只能请求 https 的接口,不能请求 http 。更加不能请求本地的类似 http://192.168.xxx 的接口。
特别说明:
如果需要接口提供服务,需要你的接口必须满足如下情况:
1、满足 HTTPS 协议(合法证书)
2、允许 www.yidaapps.com 跨站访问。不然会报:cross site policy 错误。