แชร์ผ่าน


ตัวควบคุม PeoplePicker (พรีวิว)

[บทความนี้เป็นคู่มือรุ่นก่อนวางจำหน่าย และอาจจะมีการเปลี่ยนแปลงในอนาคต]

ตัวควบคุมที่ใช้เพื่อสร้างประสบการณ์การโหลด

หมายเหตุ

รหัสแหล่งที่มาของส่วนประกอบและข้อมูลเพิ่มเติมใน ที่เก็บส่วนประกอบของโค้ด GitHub

ตัวควบคุม PeoplePicker

สำคัญ

  • นี่คือคุณลักษณะพรีวิว
  • คุณลักษณะการแสดงตัวอย่างไม่ได้มีไว้สำหรับการนำไปใช้งานจริง และอาจมีการจำกัดฟังก์ชันการทำงาน คุณลักษณะเหล่านี้สามารถใช้ได้ก่อนการเปิดตัวอย่างเป็นทางการ เพื่อให้ลูกค้าสามารถเข้าใช้งานได้ก่อนเวลาและให้ข้อคิดเห็น

Description

ตัวเลือกบุคคล (PeoplePicker) ใช้เลือกเอนทิตีอย่างน้อยหนึ่งรายการ เช่น บุคคลหรือกลุ่ม จากรายการ ทำให้การเขียนอีเมลถึงบางคนหรือเพิ่มลงในกลุ่มเป็นเรื่องง่าย หากคุณไม่ทราบชื่อเต็มหรือที่อยู่อีเมลของบุคคลนั้น

ส่วนประกอบของโค้ดนี้จัดเตรียมแรปเปอร์รอบตัวควบคุม Fluent UI PeoplePicker เพื่อใช้ในแอปพื้นที่ทำงานและหน้าแบบกำหนดเอง ดูคู่มือส่วนประกอบสำหรับแนวทางปฏิบัติที่ดีที่สุด

คุณสมบัติที่สำคัญ

คุณสมบัติ Description
Items Persona(members) ที่เลือกไว้ล่วงหน้าที่จะปรากฏใน Peoplepicker
Suggestions_Items รายชื่อของสมาชิกที่แนะนำให้เลือก ซึ่งเป็นคุณสมบัติชุดข้อมูลที่จำเป็น
PeoplePickerType ชนิดของ Peoplepicker ที่จะใช้
MaxPeople จำนวนผู้ใช้สูงสุดที่อนุญาตให้เลือกได้
NoResultFoundMesage ข้อความที่จะแสดงหากไม่พบผลลัพธ์ตามข้อความค้นหาที่ระบุ
MinimumSearchTermLength ต้องป้อนความยาวขั้นต่ำของคำที่ใช้ค้นหาก่อนให้ข้อเสนอแนะ
SearchTermToShortMessage ข้อความที่กำหนดเองที่จะแสดงเมื่อข้อความค้นหาน้อยกว่า MinimumSearchTermLength
Error ในการเน้นตัวเลือกบุคคลด้วยสีแดงเพื่อแสดงว่ามีข้อผิดพลาดบางอย่างที่จำเป็นต้องมีการตรวจสอบ
ShowSecondaryText ระบุว่า ใช่ หรือ ไม่ใช่ ขึ้นอยู่กับว่าจะแสดงข้อความรอง (เช่น ชื่องาน) หรือไม่

Itemsคุณสมบัติ

คุณสมบัติ Description
PersonaName ชื่อที่แสดงของบุคคล
PersonaKey คีย์ระบุรายการเฉพาะ คีย์ต้องไม่ซ้ำกัน
PersonaImgUrl เนื้อหา URL หรือ Base64 ของภาพบุคคล (รูปโปรไฟล์)
PersonaRole ข้อความรอง โดยเฉพาะตำแหน่งงานของบุคคล
PersonaPresence ไม่บังคับ - การแสดงตนของบุคคลที่จะแสดง - จะไม่แสดงสถานะหากไม่ได้กำหนดไว้ ค่าควรมาจากรายการใดรายการหนึ่งต่อไปนี้: away, blocked, busy, dnd, none, offline, online
PersonaOOF ไม่บังคับ - จริงหรือเท็จ ขึ้นอยู่กับว่าบุคคลนั้นไม่อยู่ในสำนักงานหรือไม่

Suggestions_Items คุณสมบัติ

คุณสมบัติ Description
SuggestionName ชื่อที่แสดงของบุคคล
SuggestionKey คีย์ระบุรายการเฉพาะ คีย์ต้องไม่ซ้ำกัน
SuggestionImgUrl เนื้อหา URL หรือ Base64 ของภาพบุคคล (รูปโปรไฟล์)
SuggestionRole ข้อความรอง โดยเฉพาะตำแหน่งงานของบุคคล
SuggestionPresence ไม่บังคับ - การแสดงตนของบุคคลที่จะแสดง - จะไม่แสดงสถานะหากไม่ได้กำหนดไว้ ค่าควรมาจากรายการใดรายการหนึ่งต่อไปนี้: away, blocked, busy, dnd, none, offline, online
SuggestionOOF ไม่บังคับ - จริงหรือเท็จ ขึ้นอยู่กับว่าบุคคลนั้นไม่อยู่ในสำนักงานหรือไม่

คุณสมบัติเพิ่มเติม

คุณสมบัติ Description
Theme ยอมรับสตริง JSON ที่สร้างขึ้นโดยใช้ ตัวออกแบบธีม Fluent UI (windows.net) การเว้นว่างไว้จะใช้ธีมเริ่มต้นที่กำหนดโดย Power Apps
AccessibilityLabel ป้ายชื่อ aria สำหรับโปรแกรมอ่านหน้าจอ
InputEvent เหตุการณ์ที่ส่งตัวควบคุม รองรับ SetFocus เป็น InputEvent

ตัวอย่าง

PeoplePicker รองรับแหล่งอื่น ๆ ที่สามารถดึงคอลเลกชันอินพุตได้ ต่อไปนี้เป็นตัวอย่างวิธีการใช้ส่วนประกอบ PeoplePicker

ตัวเชื่อมต่อผู้ใช้ Office 365

  1. เพิ่มตัวเชื่อมต่อผู้ใช้ Office 365 เป็นแหล่งข้อมูล

  2. กำหนดสูตร Power Fx ด้านล่างเป็นคุณสมบัติ On Search ของตัวควบคุมเพื่อสร้างคอลเลกชันที่ชื่อ UserCollection

    ClearCollect(
        UserCollection,
        AddColumns(
            Filter(
                Office365Users.SearchUser(
                    {
                        searchTerm: Self.SearchText,
                        top: 500
                    }
                ),
                !(Mail in Self.SelectedPeople.PersonaKey)
            ),
            "SuggestionImgUrl",
            Substitute(
                JSON(
                    Office365Users.UserPhotoV2(Id),
                    JSONFormat.IncludeBinaryData
                ),
                """",
                ""
            ),
            "SuggestionKey",
            Mail,
            "SuggestionName",
            DisplayName,
            "SuggestionRole",
            JobTitle,
            "SuggestionPresence",
            "away"
        )
    )
    
  3. ตั้งค่าคุณสมบัติ Suggestions_Items เป็น UserCollection

    หมายเหตุ

    สูตรข้างต้นรวมถึงคำขอต่อเนื่องเพื่อรับ UserPhoto ซึ่งเพิ่มเวลาในการโหลด หากคุณไม่ต้องการรูปภาพและต้องการลดเวลาในการค้นหา ให้ใช้สูตรต่อไปนี้ในคุณสมบัติ Suggestions_Items ของตัวควบคุมแทน UserCollection:

    AddColumns(
        Office365Users.SearchUser({ searchTerm: Self.SearchText, top: 500 }),
        "SuggestionKey", Mail, 
        "SuggestionName", DisplayName,
        "SuggestionRole", JobTitle
    )
    

ในจุดนี้ ตัวควบคุมกำลังทำงานและสามารถรับสมาชิกที่เลือกจากคุณสมบัติ SelectedPeople ได้

PeoplePicker1.SelectedPeople

ด้วยตาราง Dataverse - ผู้ใช้ Microsoft Entra หรือผู้ใช้

  1. ตั้งค่าคุณสมบัติ Suggestions_Items โดยระบุส่วนย่อยของโค้ดด้านล่าง

    เพิ่มผู้ใช้หรือผู้ใช้เฉพาะ (โดยใช้โค้ดด้านล่าง) จากตารางไปยังคอลเลกชันรายการ (ภายใต้คุณสมบัติ Suggestions_Items) ของ PeoplePicker

    -AAD Users ตาราง

    Search('AAD Users', Self.SearchText,"displayname" ,"mail")
    

    -Users ตาราง

    Search('Users', Self.SearchText,"fullname","internalemailaddress")
    
  2. แมปคอลัมน์ตามความต้องการของคุณโดยใช้ AddColumns() ด้านล่างนี้เป็นตัวอย่างของการแมปคอลัมน์-คุณสมบัติ:

    ชื่อคุณสมบัติ คอลัมน์ของตาราง AADUser คอลัมน์ของตารางผู้ใช้
    SuggestionKey "mail" "internalemailaddress"
    SuggestionName "displayname" "fullname"
    SuggestionRole "jobtitle" "jobtitle"

ในจุดนี้ ตัวเลือกบุคคลควรทำงานและสมาชิกที่เลือกสามารถรับได้จากคุณสมบัติ SelectedPeople

PeoplePicker1.SelectedPeople

ข้อจำกัด

ส่วนประกอบของพื้นที่ทำงานนี้ใช้ได้เฉพาะในแอปพื้นที่ทำงานและหน้าที่กำหนดเองเท่านั้น