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

SPFX中如何在Mgt Person组件传入自定义人员数据并展示4行信息

解决SPFX中Mgt Person组件展示自定义4行数据的问题

1. 核心问题分析

  • 不可同时设置personQuery与personDetails:只要指定personQuery,组件会优先调用Graph API拉取数据,直接覆盖你传入的自定义personDetails。
  • 默认ViewType.threelines仅支持三行展示:需要通过自定义模板实现4行内容的自定义布局。

2. 实现步骤与代码示例

第一步:移除personQuery并传入自定义数据

删除组件上的personQuery="me"属性,确保组件使用你传入的自定义人员数据。

第二步:自定义模板实现4行展示

利用Mgt组件的模板功能,重写default模板,将四个字段分别放在单独行中。

完整代码示例:

import * as React from 'react';
import { Person, avatarType, PersonCardInteraction } from '@microsoft/mgt-react';
import { Template } from '@microsoft/mgt-react';

export interface IMgtComponentsProps {}

export default class MgtComponents extends React.Component<IMgtComponentsProps, {}> {
  private personDetails = {
    displayName: 'Bill Gates',
    mail: 'nikola@contoso.com',
    role:'Developer',
    community:'Software Enginnering'
  };

  public render(): React.ReactElement<IMgtComponentsProps> {
    return (
      <Person
        personDetails={this.personDetails}
        fetchImage={true}
        avatarType={avatarType.photo}
        personCardInteraction={PersonCardInteraction.hover}
      >
        {/* 自定义默认模板,展示4行人员详情 */}
        <Template template="default">
          {(context) => {
            const person = context.person;
            return (
              <div className="mgt-person__details">
                <div className="mgt-person__display-name">{person.displayName}</div>
                <div className="mgt-person__custom-line">{person.mail}</div>
                <div className="mgt-person__custom-line">{person.role}</div>
                <div className="mgt-person__custom-line">{person.community}</div>
              </div>
            );
          }}
        </Template>
      </Person>
    );
  }
}

第三步:可选样式调整

如果需要优化行间距或字体样式,可通过自定义CSS类调整:

.mgt-person__custom-line {
  margin: 3px 0;
  font-size: 14px;
  color: #666;
}

3. 关键说明

  • personDetails支持传入自定义字段(如role、community),模板中可直接通过context.person访问这些字段。
  • 自定义模板完全可控布局,可根据需求调整每行的内容、样式和顺序。

内容的提问来源于stack exchange,提问作者Kshitij Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:25:18