Skip to main content

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 来调试(注:如果经常调试,建议通过浏览器访问宜搭)。 常用的是: ConsoleNetworkElements 面板。 宜搭的展示页,基于的是 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 错误。