api.on()
描述
允许为内部事件附加处理函数
用法
api.on(
event: string,
handler: function,
config?: { intercept?: boolean, tag?: number | string | symbol }
): void;
参数
event- (必填)要触发的事件handler- (必填)要附加的处理函数(处理函数的参数取决于所触发的事件)config- (可选)存储以下参数的对象:intercept- (可选)如果在创建事件监听器时设置intercept: true,则该事件监听器将在所有其他监听器之前执行tag- (可选)操作标签。您可以使用标签名称通过detach方法移除操作处理函数
事件
信息
Pivot 内部事件的完整列表可在此处查看。
如果您只想监听操作而不对其进行修改,请使用 api.on() 方法。若要对操作进行更改,请使用 api.intercept() 方法。
示例
以下示例演示如何输出激活过滤器的字段标签:
// 创建 Pivot
const table = new pivot.Pivot("#root", {
fields,
data: dataset,
config: {
rows: ["studio", "genre"],
columns: [],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
]
}
});
table.api.on("open-filter", (ev) => {
if (ev.id) {
const { config } = table.api.getState();
const fieldObj = config[ev.area].find((f) => f.id === ev.id);
if (fieldObj) {
console.log("The field for which filter was activated:", fieldObj.label);
}
}
}, {tag: "open-filter-tag"});