首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript中的自适应卡自定义操作

JavaScript中的自适应卡自定义操作
EN

Stack Overflow用户
提问于 2021-01-06 22:15:02
回答 1查看 308关注 0票数 1

我正在尝试在自适应卡中创建自定义操作,但无法创建它。有谁能帮帮我吗?

卡片数据

代码语言:javascript
复制
{
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "TextBlock",
            "size": "Medium",
            "weight": "Bolder",
            "text": "Custom"
        }
    ],
    "actions": [
        {
            "type": "Action.Alert",
            "title": "Click me",
            "text": "Hello world!"
        }
    ]
}

TypeScript文件-新创建的action.ts

代码语言:javascript
复制
import * as AC from "adaptivecards";
export class AlertAction extends AC.Action {
    static readonly JsonTypeName = "Action.Alert";

    //#region Schema

    static readonly textProperty = new AC.StringProperty(AC.Versions.v1_0, "text", true);

    @AC.property(AlertAction.textProperty)
    text?: string;

    //#endregion

    getJsonTypeName(): string {
        return AlertAction.JsonTypeName;
    }

    execute() {
        alert(this.text);
    }
}

根据这个链接https://docs.microsoft.com/en-us/adaptive-cards/sdk/rendering-cards/javascript/extensibility,我不知道在哪里添加这行代码

AC.GlobalRegistry.actions.register(AlertAction.JsonTypeName,AlertAction);

这是用于呈现卡片的代码

代码语言:javascript
复制
var jsonTemplate = "some data",
  var jsonDate = "some data"
var template = new ACData.Template(jsonTemplate);
var cardPayload = template.expand({
  $root: jsonData
});
var adaptiveCard = new AdaptiveCards.AdaptiveCard();
adaptiveCard.onExecuteAction = function(action) {
  alert("Ow!");
}
adaptiveCard.parse(cardPayload);
let renderedCard = adaptiveCard.render();
document.body.appendChild(renderedCard);
EN

回答 1

Stack Overflow用户

发布于 2021-01-08 21:37:13

我试着像这样添加GlobalRegistry

代码语言:javascript
复制
 import {AlertAction} from '../action' // Action file is a TS file 
    var adaptiveCard = new AdaptiveCards.AdaptiveCard();
            adaptiveCard.onExecuteAction = function(action) {
  alert("Ow!");
}
            adaptiveCard.GlobalRegistry.actions.register(AlertAction.JsonTypeName, AlertAction)

我收到类似"ReferenceError:在初始化前无法访问'AlertAction‘“这样的错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65597398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档