JS Column
Giới thiệu
JS Column được dùng cho "cột tùy chỉnh" trong Table, render nội dung ô của mỗi hàng thông qua JavaScript. Không liên kết với Field cụ thể, phù hợp với các trường hợp như cột phái sinh, hiển thị tổ hợp đa Field, huy hiệu trạng thái, Action nút bấm, tổng hợp dữ liệu từ xa, v.v.

API ngữ cảnh runtime
Mỗi ô của JS Column khi render có thể sử dụng các khả năng ngữ cảnh sau:
ctx.element: Container DOM của ô hiện tại (ElementProxy), hỗ trợinnerHTML,querySelector,addEventListener, v.v.;ctx.record: Đối tượng bản ghi hàng hiện tại (chỉ đọc);ctx.recordIndex: Chỉ số hàng trong Trang hiện tại (bắt đầu từ 0, có thể bị ảnh hưởng bởi phân trang);ctx.collection: Thông tin meta của collection được Table liên kết (chỉ đọc);ctx.requireAsync(url): Tải bất đồng bộ thư viện AMD/UMD theo URL;ctx.importAsync(url): Import động module ESM theo URL;ctx.openView(options): Mở view đã được cấu hình (Popup/Drawer/Trang);ctx.i18n.t()/ctx.t(): Quốc tế hóa;ctx.onRefReady(ctx.ref, cb): Render sau khi container sẵn sàng;ctx.libs.React/ctx.libs.ReactDOM/ctx.libs.antd/ctx.libs.antdIcons/ctx.libs.dayjs/ctx.libs.lodash/ctx.libs.math/ctx.libs.formula: Các thư viện thông dụng có sẵn như React / ReactDOM / Ant Design / Ant Design Icons / dayjs / lodash / math.js / formula.js, dùng cho render JSX, xử lý thời gian, thao tác dữ liệu và tính toán toán học. (ctx.React/ctx.ReactDOM/ctx.antdvẫn được giữ lại để tương thích.)ctx.render(vnode): Render React element/HTML/DOM vào container mặc địnhctx.element(ô hiện tại), nhiều lần render sẽ tái sử dụng Root, và ghi đè nội dung hiện có của container.

