Frappe:cur_frm.add_custom_button() 不添加自定义按钮

问题描述

我正在客户端脚本中创建自定义按钮。此代码有效:

// Buttons do appear,everything is fine
frappe.ui.form.on('Article',{
    refresh(frm) {
        frm.add_custom_button("Hello",() => { 
            msgprint("Hello");
        },"Greet");
        frm.add_custom_button("Ciao",() => { 
            msgprint("Ciao");
        },"Greet");
}

然后我想用cur_frm在事件之外创建按钮,这不起作用。为什么会这样?

// Buttons don't appear
cur_frm.add_custom_button("Hello",() => { 
    msgprint("Hello");
},"Greet");
cur_frm.add_custom_button("Ciao",() => { 
    msgprint("Ciao");
},"Greet");

解决方法

cur_frm 是不推荐使用的 API。为什么不能从 JS 事件方法之一使用 frm