Grid 网格中带有对话框OK的删除按钮

Grid 网格中带有对话框OK的删除按钮,grid,atk4,Grid,Atk4,我试图在网格中实现删除按钮,和CRUD一样。我发现dialogOK(),但我想我不知道如何正确使用它 我的代码: $gridC=$this->add('Grid'); $gridC->setModel('Campaign'); $gridC->addcolumn('Button', 'Delete')->js('click', $this->js()->univ()->dialogOK('Yey','Some custom javascript acti

我试图在网格中实现删除按钮,和CRUD一样。我发现dialogOK(),但我想我不知道如何正确使用它

我的代码:

$gridC=$this->add('Grid');
$gridC->setModel('Campaign');
$gridC->addcolumn('Button', 'Delete')->js('click', $this->js()->univ()->dialogOK('Yey','Some custom javascript action here',$this->delete()));

//test only
$gridC->addcolumn('Button', 'Deletex')->js('click')->univ()->dialogOK('Are you sure?','This will take you to other page',$this->js()->univ()->page($this->api->getDestinationURL('admin')));

...

function delete(){
  ...
}
单击按钮时,在单击“确定”之前,delete()函数立即启动。模式窗口也会启动:(

任何建议,我都搜索过,但找不到任何好的例子

第二天:

我又检查了一遍,我差一点就到舒尔了,我做得对,但我想我发现了一个bug,我知道()

我在任何普通页面上重新创建此示例:

$button = $this->add('Button');
$button->js('click')->univ()->dialogOK('Are you sure?','This will take you to other page',
  $button->js()->univ()->page($this->api->getDestinationURL('index'))
);
页面重定向到索引页面,它不等待单击“确定”按钮。相反,它打开对话框“确定”,但在后台重定向到索引页面


我正在使用master branch的atk 4.2.5。

好的,该网页有一些错误:(如果您能编辑它并在Github atk4 web中发送请求,我将不胜感激

让您上路的一些技巧:

  • 尝试使用dialogConfirm()方法,而不是dialogOK()。那么它能工作吗
  • 尝试在->page()之后添加->\u include()。这将在函数中包含JS表达式
  • 如果dialogConfirm()起作用而类似的dialogOK()不起作用,那么我猜dialogOK()方法中有一个小错误。atk4_univ.js文件dialogOK方法中应该有
    close:If(fn)fn(),
    而不是
    close:fn,

你能试试这些技巧并告诉我什么对你有用吗?很抱歉我自己没有这么做-我现在真的没时间了:(

我认为这个对话框OK有问题,甚至这个页面上的示例也不起作用: