首页 > 解决方案 > 将已获取的帐户名/登录名设置为 Pnp Js Peoplepicker

问题描述

我正在 spfx 中创建一个编辑表单(以 react js 作为框架),我将在其中使用 pnp js 获取特定列表项的数据。我已经从人员类型字段“发件人”中获取了数据。现在我想在 peoplepicker 控件中显示获取的用户。

我的代码中使用了以下控件。'defaultSelectedUsers' 的值是静态设置的,以检查一旦加载此控件,那里提到的 loginName 是否会预先填充用户。但是这个属性不起作用。

谁能建议我如何预先填充这个 peoplepicker 控件?

<PeoplePicker
            context={this.props.context}
            titleText="Sender"
            personSelectionLimit={1}
            groupName={"some group here"} 
            showtooltip={true}
            isRequired={true}
            disabled={false}
            defaultSelectedUsers= 
            {['i:0#.f|membership|abcUser@xyz23.onmicrosoft.com']}
            selectedItems={this._getItems}
            showHiddenInUI={false}
            principalTypes={[PrincipalType.User]}
            resolveDelay={200}
            ensureUser={true}
         />

预期行为:加载页面后,我希望用户i:0#.f|membership|abcUser@xyz23.onmicrosoft.com在 peoplepicker 控件中预先填充登录名。

标签: reactjsspfx

解决方案


我几乎从 2-3 天开始就这个问题进行研发。但找不到任何东西。今天我只是尝试了一个简单的事情。我输入了用户的电子邮件而不是 loginName,这件事奏效了。

<PeoplePicker
        context={this.props.context}
        titleText="Sender"
        personSelectionLimit={1}
        groupName={"some group here"} 
        showtooltip={true}
        isRequired={true}
        disabled={false}
        **defaultSelectedUsers= 
        {['abcUser@xyz23.onmicrosoft.com']}**
        selectedItems={this._getItems}
        showHiddenInUI={false}
        principalTypes={[PrincipalType.User]}
        resolveDelay={200}
        ensureUser={true}
     />

推荐阅读