其他
其他动作包含复制、自定义JS。
复制内容
触发复制内容到粘贴板。
动作说明
配置参数说明如下:
参数 | 说明 |
---|---|
copyFormat | 复制格式,默认为text/html,支持富文本 |
content | 指定复制的内容。可用 ${xxx} 绑定数据域中的变量 |
操作步骤
按以下步骤在页面设计器进行动作配置:
- 打开动作配置弹窗后,选择其他 > 复制内容
- 输入内容模板,选择复制格式,确认提交。
自定义JS
通过编写JavaScript脚本来实现动作逻辑。
弹出消息
const myMsg = '我是自定义JStoast';
doAction({
actionType: 'toast',
args: {
msg: myMsg
}
});
给页面变量赋值
const num = '0813';
doAction({
"ignoreError": false,
"actionType": "setValue",
"args": {
"path": "__page.num",
"value": num
}
});
动作说明
配置参数说明如下:
参数 | 说明 |
---|---|
script | 自定义 JS 脚本代码 |
script内参数说明如下:
参数 | 类型 | 说明 |
---|---|---|
doAction | Function | 动作执行函数,可以执行所有类型的动作 这里的内容可以在页面上使用可视化方式配置的动作对比看写法 |
context | ListenerContext | 当前组件实例,context.props可以获取该组件相关属性 |
event | RendererEvent | 事件对象,通过event.data可以获取事件上下文,通过调用 setData()、stopPropagation()、preventDefault()可以分别实现事件上下文设置、动作干预、事件干预 |
操作步骤
按以下步骤在页面设计器进行动作配置:
- 打开动作配置弹窗后,选择其他 > 自定义JS
- 输入JS代码,确认提交。
典型示例
获取表单中的值
/* 自定义JS使用说明:
* 1.动作执行函数doAction,可以执行所有类型的动作
* 2.通过上下文对象context可以获取当前组件实例,例如context.props可以获取该组件相关属性
* 3.事件对象event,在doAction之后执行event.stopPropagation();可以阻止后续动作执行
*/
//可以获取当前组件实例,通过控制台看参数结构
console.log(context);
let data = context.props.data;
let book_id = data.book_id;
let book_name = data.book_name;
doAction({
actionType: 'toast',
args: {
msg: '表单的book_id为' + book_id
}
});
//根据层级结构获取页面上的文本组件值
let text = data.__super.text;
doAction({
actionType: 'toast',
args: {
msg: '页面中的文本框text的值为' + text
}
});
参考amis文档自定义JS