Skip to content

JS-API

本文档主要介绍盘古平台在事件 JS 面板中可以直接调用的 API 及其使用方法,每一个 API 都会配备一个示例用于展示 API 的具体使用方式,在示例中,我们都会通过以下函数结构来模拟动作面板的真实使用场景。

js
function action(ctx, parmas) {
  ...
}

全局变量 API

获取变量 state

该方法用于获取在参数面板中定义的参数。

js
function action(ctx) {
  console.log(ctx.state);
}

修改变量 setState

参数类型为对象类型,对象属性名为变量名称,属性值是修改的数据。

js
function action(ctx) {
  ctx.setState({
    form: {
      name: "老高",
      age: 18
    }
  })
}

调用api loadApi

该方法用于调用API面板中定义的api接口,该方法有两个参数,分别为api名称和api需要传递的参数。

js
function action(ctx) {
  ctx.loadApi("dp1", { name: "老高" }).then(res => {
    console.log(res);  
  })
}

获取组件的属性值 getProp

用于获取组件配置的属性值,该方法有两个参数,分别为组件key和属性名称。

js
function action(ctx, params) {
  ctx.getProp('1711501379446', 'props');
}

消息提示

全局反馈 message

由用户的操作触发的轻量级全局反馈。

可通过 ctx.message(config) 进行反馈提示,全局提示有 4 种不同的类型,分别为:info(信息), success(成功), warning(警告), error(错误)

config参数定义如下所示:

参数名称描述类型默认值
closable是否显示关闭按钮booleanfalse
content内容string-
duration消息显示的持续时间number-
js
function action(ctx) {
	ctx.message.success({ content: "提示内容"});
}

确认提示 confirm

点击元素,弹出确认框。

可通过 ctx.confirm(config) 进行确认提示,全局提示有 4 种不同的类型,分别为:info(信息), success(成功), warning(警告), error(错误)

config参数定义如下所示:

参数名称描述类型默认值
title标题string-
content内容string-
closable是否显示关闭按钮booleanfalse
okText确认按钮文案string-
cancelText取消按钮文案string-
hideCancel是否隐藏取消按钮booleantrue
width弹框宽度string | number-
top对话框的距离顶部的高度,居中显示开启的情况下不生效string | number-
onOk点击确认回调function-
onCancel点击取消回调function-
js
function action(ctx) {
	ctx.confirm.info({ title: "确认标题", content: "确认内容" });
}

表单方法

校验表单值 validate

用于校验表单数据,参数为表单容器的key和回调函数,回调函数有两个参数,分别为是否通过校验和表单数据。

js
function action(ctx) {
	ctx.validate("1658997822617", function(res, data) {
		console.log(res, data);
	})
}

清除校验结果 clearValidate

用于清除校验结果,参数为表单容器的key。

js
function action(ctx) {
	ctx.clearValidate("1658997822617")
}

获取表单值 getValue

参数为表单容器的key。该方法可用于表单容器表单项未绑定变量的场景中。

js
function action(ctx) {
	console.log(ctx.getValue("1658997822617"))
}

设置表单值 setValue

参数为表单容器的key和需要赋值的表单数据对象。该方法可用于表单容器表单项未绑定变量的场景中。

js
function action(ctx) {
	ctx.setValue("1658997822617", {
		name: "老高",
		age: 18
	})
}

其它

刷新表格 fetchTableData

参数为表格容器的key和表格请求数据的参数,可以不传就按当前搜索条件和页码进行刷新。该方法可用于表格为api数据且需要刷新场景中。

js
function action(ctx) {
	ctx.fetchTableData("1658997822617",{
		pageSize: 10,
		pageNum: 1,
		...param
	})
}