跳到主要内容

平台组件

Amis原生组件

几乎所有的amis原生组件都适用于Steedos微页面,请参阅 Amis 组件

Steedos组件

我们为 amis 扩展了对象相关的组件用于快速实现Steedos各种界面能力。

@data.change事件

在amis广播事件可以自定义派发的事件名称eventName,其他渲染器可以监听自定义事件并配置响应动作。了解更多广播事件

Steedos基于amis广播事件,实现了基于对象的@data.change事件,只需要在组件中按规范监听相关对象的@data.change事件,可以很方便的实现刷新列表视图表单数据功能。

名称规范

事件名称规范:@data.changed.对象的API名称,表示触发某个对象的@data.change事件。

触发

要触发对象的@data.change事件,eventName按上述名称规范,并配置actionType: 'broadcast'

以下示例演示了点击按钮时触发一个名为instance_tasks的对象的@data.change事件。actions.data中的数据会传递给目标事件,可通过event.data.xxx直接获取。

  {
"type": "button",
"label": "广播一下",
"onEvent": {
"click": {
"actions": [
{
"actionType": "broadcast",
"args": {
"eventName": "@data.changed.instance_tasks"
},
"data":{
"objectName": "instance_tasks"
}
}
]
}
}
}

监听

要监听@data.change事件,事件名按上述名称规范即可。

以下示例演示了一个监听名为instance_tasks的对象的@data.change事件。当事件触发时会执行相关动作,传递的数据通过event.data.xxx获取。

  "onEvent": {
"@data.changed.instance_tasks": {
"actions": [
{
"actionType": "toast",
"args": {
"msgType": "info",
"msg": "传递的数据:${event.data.objectName}",
"position": "top-center"
}
}
]
}
}

应用

Steedos很多内置组件都监听了对象的@data.change事件,基于amis的广播事件特性可以很方便的调用这些组件的功能和行为,比如列表视图组件的刷新功能。