云服务器内容精选

  • 注册自定义事件 自定义事件在{widget}.editor.js文件中的eventConfig配置项中注册,以global_SelectWidget组件为例: 在文件global_SelectWidget.editor.js中定义事件 eventConfig: { sendSelect: { desc: { zh_CN: "当选中选项时", en_US: "Select Choose" }, fields: [ { name: "selectValue", desc: { zh_CN: "选项值", en_US: "Select Choose" }, }, ], }, }, 在文件global_SelectWidget.js的init钩子中注册事件 * @params thisObj: 组件实例,等同于this * @params "sendSelect": 事件key值 * @params { "zh_CN": "当选中选项时", "en_US": "Select Choose" }: 事件描述,国际化 * @params []: 空数组,固定写法 (内部组件暂时没有用到过) */ Studio.registerEvents(thisObj, "sendSelect", { "zh_CN": "当选中选项时", "en_US": "Select Choose" }, []); 图1 配置后效果 表1 eventConfig字段说明 字段 类型 说明 sendSelect String 自定义事件的key值。 desc Object 自定义事件的中英文描述。 fields Array 自定义事件中,暴露给全局变量的内容。
  • 注册动作 图1 响应动作 /** * 文件global_SelectWidget.js中, 在init钩子中注册响应动作 * @params this: 组件实例 * @params "setSelectedItem": 动作名称 * @params { zh_CN: "设置选中选项", en_US: "Set Selected item" }:响应动作的描述,需要国际化 * @params [{ name: "itemVal", type: "text" }]:配置动作时可以配置itemVal的值为${e.xxx}将事件抛出的xxx参数复制到itemVal中,然后select组件内统一从itemVal获取数据 * @params this.setSelectVal.bind(this): this.setSelectVal 为响应动作函数 */ Studio.registerAction( this, "setSelectedItem", { zh_CN: "设置选中选项", en_US: "Set Selected item" }, [{ name: "itemVal", type: "text" }], // 配置动作时可以配置itemVal的值为${e.xxx}将事件抛出的xxx参数复制到itemVal中。然后select组件内统一从itemVal获取数据 this.setSelectVal.bind(this) );
  • 响应动作函数 /** * 数据刷新的响应动作函数示例 * 文件global_SelectWidget.js中, 与render函数平级定义 * @params event: 保存着事件发出的参数,itemVal为配置动作时将事件抛出的参数复制到itemVal中 */ setSelectVal(event) { this.readerVm.$set(this.readerVm.selectConf, "selectValue", event.itemVal); },
  • 初识事件-动作 查看组件可配置事件列表。 以雷达图组件为例,在画布中拖入并选中雷达图组件,在右侧“组件属性设置”栏中选择“事件”页签,会显示当前组件可配置的事件列表。 图1 事件配置示例 表1 预置事件列表 事件名称 事件说明 点击 通过鼠标左键,单击该组件时触发。 双击 通过鼠标左键,双击该组件时触发。 右击 通过鼠标右键,单击该组件时触发。 右双击 通过鼠标右键,双击该组件时触发。 鼠标滑过 鼠标光标滑过该组件时触发。 组件加载 组件加载完成后触发。 单击组件标题 单击组件标题时触发。 当点击图例时 单击图例时触发。 当点击数据时 单击数据时触发。 图1所示的“跳转页面”事件,并非低代码平台预置的事件,而是在“雷达图”组件中注册的事件,当单击该组件标题时触发。即事件列表中也会展现该组件注册的事件,用于配置。组件中如何注册事件,请参见同页面内组件的交互。 事件在开发态(高级页面编辑页面)不能触发,只有在页面的运行态(应用运行状态或预览页面)才能触发生效。 配置事件触发时的响应动作。 单击事件名称后的,在弹出的“事件编辑”页面,可配置该事件触发时的响应动作。 图2 配置事件示例 “事件编辑”弹窗说明 如下图所示,其中标签1“新建动作”按钮,可为当前事件添加响应动作,标签2为当前事件已配置的动作列表,可在列表中操作列对其再次编辑或删除。 图3 事件编辑弹窗 预置动作说明 图4 动作列表示例 如上图所示,当单击“新建动作”按钮后,可展现当前事件可配置的动作列表。 表2 预置动作列表 动作类别 动作名称 详细说明 默认 页面跳转 跳转至其他页面,配置参数说明: 页面类型:设置待跳转的页面是当前应用中的标准页面、高级页面或外部页面。 高级页面、标准页面、外部页面:选择高级页面、标准页面或输入外部页面的地址。 动作参数:通过页面宏传递参数,可暂且不关注。 页面打开方式:设置跳转页面的打开方式,可选项包含当前浏览器窗口打开或新窗口打开。 自定义 自定义动作 自定义动作可通过代码,实现响应动作的逻辑。 //var flag=true //{widgetxxx}.flag=flag;console.log('测试自定义动作'); BPM动作 提交实例 详细介绍,请参见在高级页面中与工作流交互。 提交任务 转派任务 更改变量 图4中所示的“满月饼图”动作,并非低代码平台预置的动作,而是在“满月饼图”组件中注册的动作,即动作列表中也会展现在画布中所有组件注册的动作,用于配置。组件中如何注册动作,请参见同页面内组件的交互。 配置完成后,单击页面上方的,保存页面。 单击,进入预览页面,查看已配置的事件和动作是否能正常触发。