เอกสารนี้แปลโดย AI สำหรับข้อมูลที่ถูกต้อง กรุณาดูเวอร์ชันภาษาอังกฤษ
thought
Task: Update Thai translation to match Chinese source.
Rules:
Key Terms: Collection (คอลเลกชัน), Workflow (เวิร์กโฟลว์), Data Source (แหล่งข้อมูล), Plugin (ปลั๊กอิน).
Preserve: Markdown, code, URLs, images.
Title: # JS Item -> # JS Item (Matches)
Intro:
Runtime Context API:
ctx.element:当前项的 DOM 容器(ElementProxy),支持 innerHTML、querySelector、addEventListener 等;ctx.element: DOM container (ElementProxy) ของรายการปัจจุบัน รองรับ innerHTML, querySelector, addEventListener และอื่นๆ ครับctx.form:AntD Form 实例,可 getFieldValue / getFieldsValue / setFieldsValue / validateFields 等;ctx.form: AntD Form instance ที่สามารถใช้ getFieldValue / getFieldsValue / setFieldsValue / validateFields และอื่นๆ ได้ครับctx.blockModel:所在表单块模型,可监听 formValuesChange 实现联动;ctx.blockModel: โมเดลของบล็อกฟอร์มที่ JS Item อยู่ ซึ่งสามารถฟังเหตุการณ์ formValuesChange เพื่อสร้างการทำงานแบบเชื่อมโยง (linkage) ได้ครับctx.record / ctx.collection:当前记录与集合元信息(部分场景可用);ctx.record / ctx.collection: เรคคอร์ดปัจจุบันและเมตาดาต้าของ คอลเลกชัน (ใช้ได้ในบางสถานการณ์) ครับctx.requireAsync(url):按 URL 异步加载 AMD/UMD 库;ctx.requireAsync(url): โหลดไลบรารี AMD/UMD แบบอะซิงโครนัสด้วย URL ครับctx.importAsync(url):按 URL 动态导入 ESM 模块;ctx.importAsync(url): อิมพอร์ตโมดูล ESM แบบไดนามิกด้วย URL ครับctx.openView(viewUid, options):打开已配置的视图(抽屉/对话框/页面);ctx.openView(viewUid, options): เปิดวิว (view) ที่ตั้งค่าไว้ (เช่น ลิ้นชัก (drawer), กล่องโต้ตอบ (dialog), หรือหน้าเพจ) ครับctx.message / ctx.notification:全局提示与通知;ctx.message / ctx.notification: ข้อความแจ้งเตือนและประกาศแบบ Global ครับctx.t() / ctx.i18n.t():国际化;ctx.t() / ctx.i18n.t(): สำหรับการทำ Internationalization ครับctx.onRefReady(ctx.ref, cb):容器就绪后再渲染;ctx.onRefReady(ctx.ref, cb): เรนเดอร์หลังจากคอนเทนเนอร์พร้อมใช้งานแล้วครับctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula:内置 React / ReactDOM / Ant Design / Ant Design 图标 / dayjs / lodash / math.js / formula.js 等通用库,用于 JSX 渲染、时间处理、数据操作与数学运算。(ctx.React / ctx.ReactDOM / ctx.antd 仍保留用于兼容。)ctx.render(vnode):渲染 React 元素/HTML/DOM 到默认容器 ctx.element;多次渲染会复用 Root,并覆盖容器现有内容。ctx.render(vnode): เรนเดอร์ React element/HTML/DOM ไปยังคอนเทนเนอร์เริ่มต้น ctx.element ครับ การเรนเดอร์หลายครั้งจะใช้ Root เดิมซ้ำ และเขียนทับเนื้อหาที่มีอยู่ในคอนเทนเนอร์ครับEditor and Snippets:
Snippets:打开内置代码片段列表,可搜索并一键插入到当前光标位置。Snippets: เปิดรายการโค้ด Snippets ที่มาพร้อมกับระบบ ซึ่งคุณสามารถค้นหาและแทรกไปยังตำแหน่งเคอร์เซอร์ปัจจุบันได้ด้วยคลิกเดียวครับRun:直接运行当前代码,并将运行日志输出到底部 Logs 面板;支持 console.log/info/warn/error 与错误高亮定位。Run: รันโค้ดปัจจุบันโดยตรง และแสดงผลลัพธ์การทำงานในพาเนล Logs ด้านล่างครับ รองรับ console.log/info/warn/error และการไฮไลต์ตำแหน่งข้อผิดพลาดด้วยครับCommon Usage:
Notes:
if (!lib) return;)。if (!lib) return;)class 或 [name=...],避免使用固定 id,防止多个区块/弹窗中重复 id。class หรือ [name=...] เป็นหลักครับ และหลีกเลี่ยงการใช้ id แบบตายตัว เพื่อป้องกัน id ซ้ำกันในบล็อกหรือป๊อปอัปหลายๆ อันremove 再 add,或 { once: true },或 dataset 标记防重复)。remove ก่อนแล้วค่อย add, การใช้ { once: true }, หรือการใช้ dataset เพื่อทำเครื่องหมายป้องกันการซ้ำ)Related Docs:
Update ctx.libs list to include lodash, math.js, formula.js.
Update AI Employee link path: /ai-employees/features/built-in-employee.
Ensure "ครับ" is used consistently.
Verify structure matches CN exactly.
Intro: JS Item ใช้สำหรับ "รายการที่กำหนดเอง" (ไม่ใช่การผูกฟิลด์) ในฟอร์มครับ คุณสามารถใช้ JavaScript/JSX เพื่อเรนเดอร์เนื้อหาใดๆ ก็ได้ (เช่น คำแนะนำ, สถิติ, การแสดงตัวอย่าง, ปุ่ม ฯลฯ) และโต้ตอบกับฟอร์มและบริบทของเรคคอร์ดได้ เหมาะสำหรับสถานการณ์ต่างๆ เช่น การแสดงตัวอย่างแบบเรียลไทม์, คำแนะนำ หรือคอมโพเนนต์การโต้ตอบขนาดเล็กครับ
Runtime Context API:
ctx.element: คอนเทนเนอร์ DOM (ElementProxy) ของรายการปัจจุบัน รองรับ innerHTML, querySelector, addEventListener ฯลฯ ครับctx.form: อินสแตนซ์ AntD Form สามารถใช้ getFieldValue / getFieldsValue / setFieldsValue / validateFields ฯลฯ ได้ครับctx.blockModel: โมเดลบล็อกฟอร์มที่อยู่ สามารถฟัง formValuesChange เพื่อใช้ในการเชื่อมโยงได้ครับctx.record / ctx.collection: ข้อมูลเรคคอร์ดปัจจุบันและเมทาดาต้าของคอลเลกชัน (ใช้ได้ในบางสถานการณ์) ครับctx.requireAsync(url): โหลดไลบรารี AMD/UMD แบบอะซิงโครนัสตาม URL ครับctx.importAsync(url): นำเข้าโมดูล ESM แบบไดนามิกตาม URL ครับctx.openView(viewUid, options): เปิดมุมมองที่กำหนดค่าไว้ (ลิ้นชัก/ไดอะล็อก/หน้าเพจ) ครับctx.message / ctx.notification: การแจ้งเตือนและข้อความแจ้งเตือนทั่วโลกครับctx.t() / ctx.i18n.t(): การรองรับหลายภาษา (Internationalization) ครับctx.onRefReady(ctx.ref, cb): เรนเดอร์หลังจากคอนเทนเนอร์พร้อมใช้งานแล้วครับctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: ไลบรารีในตัว เช่น React / ReactDOM / Ant Design / Ant Design Icons / dayjs / lodash / math.js / formula.js ฯลฯ สำหรับการเรนเดอร์ JSX, การจัดการเวลา, การจัดการข้อมูล และการคำนวณทางคณิตศาสตร์ครับ (ctx.React / ctx.ReactDOM / ctx.antd ยังคงถูกเก็บไว้เพื่อความเข้ากันได้ครับ)ctx.render(vnode): เรนเดอร์ React element/HTML/DOM ไปยังคอนเทนเนอร์เริ่มต้น ctx.element ครับ การเรนเดอร์หลายครั้งจะใช้ Root ซ้ำและเขียนทับเนื้อหาเดิมในคอนเทนเนอร์ครับEditor:
Snippets: เปิดรายการโค้ดสั้น (Snippets) ในตัว สามารถค้นหาและแทรกไปยังตำแหน่งเคอร์เซอร์ปัจจุบันได้ในคลิกเดียวครับRun: รันโค้ดปัจจุบันโดยตรง และส่งออกบันทึกการทำงาน (Logs) ไปยังแผงด้านล่าง รองรับ console.log/info/warn/error และการระบุตำแหน่งข้อผิดพลาดด้วยไฮไลต์ครับUsage:
Notes:
if (!lib) return;) ครับclass หรือ [name=...] สำหรับตัวเลือก (Selector) และหลีกเลี่ยงการใช้ id ที่ตายตัว เพื่อป้องกัน id ซ้ำกันในหลายบล็อกหรือหน้าต่างป๊อปอัปครับremove ก่อน add, หรือใช้ { once: true }, หรือใช้ dataset เพื่อทำเครื่องหมายป้องกันการซ้ำ) ครับRelated Docs:
Check terms: Collection (คอลเลกชัน), Workflow (เวิร์กโฟลว์), Data Source (แหล่งข้อมูล), Plugin (ปลั๊กอิน).
Check politeness: "ครับ" added.
Check structure: Matches CN.
Check links: Updated.
Self-Correction during drafting:
Refining the ctx.libs section:
CN: ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula:内置 React / ReactDOM / Ant Design / Ant Design 图标 / dayjs / lodash / math.js / formula.js 等通用库,用于 JSX 渲染、时间处理、数据操作与数学运算。(ctx.React / ctx.ReactDOM / ctx.antd 仍保留用于兼容。)
TH: ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: ไลบรารีในตัว เช่น React / ReactDOM / Ant Design / Ant Design Icons / dayjs / lodash / math.js / formula.js และไลบรารีทั่วไปอื่นๆ สำหรับการเรนเดอร์ JSX, การจัดการเวลา, การจัดการข้อมูล และการคำนวณทางคณิตศาสตร์ครับ (ctx.React / ctx.ReactDOM / ctx.antd ยังคงถูกเก็บไว้เพื่อความเข้ากันได้ครับ)
Refining the AI Employee link: CN: AI 员工 · Nathan:前端工程师 TH: AI Employee · Nathan: วิศวกร Frontend
Refining Notes:
CN: 外部库加载建议使用可信 CDN,失败场景需做好兜底(如 if (!lib) return;)。
TH: แนะนำให้ใช้ CDN ที่เชื่อถือได้สำหรับการโหลดไลบรารีภายนอก และควรเตรียมแผนสำรองสำหรับกรณีที่โหลดล้มเหลว (เช่น if (!lib) return;) ครับ
Final check on structure:
Matches perfectly.
JS Item ใช้สำหรับ "รายการที่กำหนดเอง" (ไม่ใช่การผูกฟิลด์) ในฟอร์มครับ คุณสามารถใช้ JavaScript/JSX เพื่อเรนเดอร์เนื้อหาใดๆ ก็ได้ (เช่น คำแนะนำ, สถิติ, การแสดงตัวอย่าง, ปุ่ม ฯลฯ) และโต้ตอบกับฟอร์มและบริบทของเรคคอร์ดได้ เหมาะสำหรับสถานการณ์ต่างๆ เช่น การแสดงตัวอย่างแบบเรียลไทม์, คำแนะนำ หรือคอมโพเนนต์การโต้ตอบขนาดเล็กครับ

ctx.element: คอนเทนเนอร์ DOM (ElementProxy) ของรายการปัจจุบัน รองรับ innerHTML, querySelector, addEventListener ฯลฯ ครับctx.form: อินสแตนซ์ AntD Form สามารถใช้ getFieldValue / getFieldsValue / setFieldsValue / validateFields ฯลฯ ได้ครับctx.blockModel: โมเดลบล็อกฟอร์มที่อยู่ สามารถฟัง formValuesChange เพื่อใช้ในการเชื่อมโยงได้ครับctx.record / ctx.collection: ข้อมูลเรคคอร์ดปัจจุบันและเมทาดาต้าของคอลเลกชัน (ใช้ได้ในบางสถานการณ์) ครับctx.requireAsync(url): โหลดไลบรารี AMD/UMD แบบอะซิงโครนัสตาม URL ครับctx.importAsync(url): นำเข้าโมดูล ESM แบบไดนามิกตาม URL ครับctx.openView(viewUid, options): เปิดมุมมอง (View) ที่กำหนดค่าไว้ (ลิ้นชัก/ไดอะล็อก/หน้าเพจ) ครับctx.message / ctx.notification: การแจ้งเตือนและข้อความแจ้งเตือนทั่วโลกครับctx.t() / ctx.i18n.t(): การรองรับหลายภาษา (Internationalization) ครับctx.onRefReady(ctx.ref, cb): เรนเดอร์หลังจากคอนเทนเนอร์พร้อมใช้งานแล้วครับctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: ไลบรารีในตัว เช่น React / ReactDOM / Ant Design / Ant Design Icons / dayjs / lodash / math.js / formula.js และไลบรารีทั่วไปอื่นๆ สำหรับการเรนเดอร์ JSX, การจัดการเวลา, การจัดการข้อมูล และการคำนวณทางคณิตศาสตร์ครับ (ctx.React / ctx.ReactDOM / ctx.antd ยังคงถูกเก็บไว้เพื่อความเข้ากันได้ครับ)ctx.render(vnode): เรนเดอร์ React element/HTML/DOM ไปยังคอนเทนเนอร์เริ่มต้น ctx.element ครับ การเรนเดอร์หลายครั้งจะใช้ Root ซ้ำและเขียนทับเนื้อหาเดิมในคอนเทนเนอร์ครับSnippets: เปิดรายการโค้ดสั้น (Snippets) ในตัว สามารถค้นหาและแทรกไปยังตำแหน่งเคอร์เซอร์ปัจจุบันได้ในคลิกเดียวครับRun: รันโค้ดปัจจุบันโดยตรง และส่งออกบันทึกการทำงาน (Logs) ไปยังแผงด้านล่าง รองรับ console.log/info/warn/error และการระบุตำแหน่งข้อผิดพลาดด้วยไฮไลต์ครับ
if (!lib) return;) ครับclass หรือ [name=...] สำหรับตัวเลือก (Selector) และหลีกเลี่ยงการใช้ id ที่ตายตัว เพื่อป้องกัน id ซ้ำกันในหลายบล็อกหรือหน้าต่างป๊อปอัปครับremove ก่อน add, หรือใช้ { once: true }, หรือใช้ dataset เพื่อทำเครื่องหมายป้องกันการซ้ำ) ครับ