You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Microsoft Teams任务模块中渲染JSX元素,Adaptive Card可否添加自定义组件?

Teams 应用开发问题解答

任务模块添加自定义JSX元素的实现方法

任务模块本质是Teams客户端内嵌的独立iframe页面,基于React的Teams项目可以直接按普通React开发逻辑添加自定义JSX,具体操作如下:

  • 首先确认项目使用React技术栈,建议通过Teams Toolkit初始化项目,默认已经配置好任务模块的相关路由和打包规则
  • 定位到任务模块对应的入口组件文件,默认路径为src/taskModules/[模块名]/index.tsx,直接在该组件内编写自定义JSX代码即可
  • 如果需要调用Teams客户端能力,必须先初始化Teams SDK,示例代码如下:
import { useEffect, useState } from 'react';
import * as microsoftTeams from "@microsoft/teams-js";

const CustomTaskPage = () => {
  const [context, setContext] = useState(null);

  useEffect(() => {
    // 初始化SDK
    const init = async () => {
      await microsoftTeams.app.initialize();
      const userContext = await microsoftTeams.app.getContext();
      setContext(userContext);
    }
    init();
  }, []);

  return (
    <div className="task-module-container">
      {/* 以下为自定义JSX区域,可任意编写需要的元素 */}
      <h2>自定义任务模块页面</h2>
      <p>当前登录用户:{context?.user?.displayName}</p>
      <button onClick={() => console.log('自定义按钮触发')}>自定义操作</button>
    </div>
  );
}

export default CustomTaskPage;
  • 开发完成后通过Teams Toolkit的本地调试功能启动,即可在Teams客户端的任务模块中看到自定义JSX的渲染效果。

Adaptive Card是否支持添加自定义组件

原生Adaptive Card不支持添加自定义组件。Adaptive Card是跨平台的JSON渲染协议,所有渲染元素都必须符合官方定义的标准规范,仅支持内置的文本、输入框、按钮、媒体等标准元素,不支持注入自定义React/Vue组件。
如果需要实现复杂自定义交互,可采用以下替代方案:

  • 通过Adaptive Card的Action.Submit动作提交用户操作数据,服务端返回新的Adaptive Card刷新界面
  • 点击Adaptive Card的动作按钮直接打开任务模块,在任务模块中用自定义JSX实现复杂交互逻辑。

内容的提问来源于stack exchange,提问作者Riya Ghosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:39:00