กลับไปหน้า Power Apps
ทริคPower Apps

Variables (Set & UpdateContext)

ตัวแปร global (Set) กับ context (UpdateContext) ต่างกันที่ขอบเขตการใช้งานและตอนที่ควรเลือกใช้

เริ่มอ่านตรงนี้ก่อน

อธิบายแบบง่าย

Variables (Set & UpdateContext) คือเรื่องที่ช่วยให้เราใช้ทำแอปภายในทีมแบบ low-codeได้ถูกทางขึ้น

ระดับ

เหมาะกับคนที่เริ่มลงมือทำแล้ว

ใช้เมื่อไหร่

ใช้ Set เมื่อต้องการค่าที่ใช้ร่วมกันข้ามหน้าจอ เช่น ผู้ใช้ที่ล็อกอินอยู่

อ่านแล้วทำอะไรต่อ

ใช้ context variable คุมการแสดงพาเนลในหน้าจอเดียว ไม่ต้องเป็น global

เห็นภาพ: ทริคนี้เป็นยังไง

Set — global (ทั้งแอป)
Set(varCurrentUser,
  User().FullName)
// ทุกหน้าจอเห็น
UpdateContext — เฉพาะหน้านี้
UpdateContext(
  { locShowPanel: true })
// แค่หน้าจอเดียว
เลือกขอบเขตให้ถูก — global ใช้ทั้งแอป, context เฉพาะหน้าจอ

ใช้ตอนไหน?

  • ใช้ Set เมื่อต้องการค่าที่ใช้ร่วมกันข้ามหน้าจอ เช่น ผู้ใช้ที่ล็อกอินอยู่
  • ใช้ UpdateContext เมื่อค่านั้นใช้แค่ในหน้าจอเดียว เช่น เปิด/ปิด popup
  • ต้องการส่งค่าไปหน้าจอถัดไป (ใช้ Navigate พร้อม context)

ความหมาย

Power Apps มีตัวแปรหลายแบบ: global variable สร้างด้วย Set ใช้ได้ทั้งแอป ส่วน context variable สร้างด้วย UpdateContext ใช้ได้เฉพาะภายในหน้าจอเดียว และยังมี collection สำหรับเก็บข้อมูลแบบตาราง การเลือกให้ถูกช่วยให้แอปจัดการสถานะ (state) ได้สะอาด

Set เทียบกับ UpdateContext

Set ใช้ชื่อตัวแปรตรง ๆ ส่วน UpdateContext รับเป็นเรคคอร์ด { ชื่อ: ค่า }

// global — ใช้ได้ทั้งแอป
Set(varCurrentUser, User().FullName)

// context — เฉพาะหน้าจอนี้
UpdateContext({ locShowPanel: true })

// ส่ง context ข้ามหน้าจอ
Navigate(DetailScreen, ScreenTransition.Cover, { locItem: ThisItem })

ตัวอย่างการใช้

เปิด/ปิดพาเนล

ใช้ context variable คุมการแสดงพาเนลในหน้าจอเดียว ไม่ต้องเป็น global

// OnSelect ของปุ่ม
UpdateContext({ locShowPanel: !locShowPanel })