dcat优化体验的小功能:双击触发编辑

dcat默认的编辑按钮需要先点操作列的三个点,然后在弹框中选择编辑,这样使用感觉有点麻烦

这里通过2种方式查找编辑按钮,如果禁用了默认的编辑按钮,只要你自定义的编辑按钮的class带有icon-edit也能触发,这个是编辑图标的css类。如果你需要监听别的按钮,改一下class就行了。

可以直接在bootsratp.php里面调用Admin::script,但是我单独封装到TableService,以免后期修改太多,bootsratp.php太乱不好维护。

use Dcat\Admin\Admin;
class TableService {
    // 双击表格行打开打开菜单
    public function enableDoubleClickMenu(): TableService {
        $script = <<<JS
        // 监听每行的双击事件,如果该行有编辑按钮,就主动触发其点击
        $("#grid-table > tbody > tr").on("dblclick",function() {

           var obj = $(this).find(".grid__actions__ [class*=icon-edit]");
           var obj2 = $(this).find(".grid__actions__ [action=edit]");

           if (obj.length === 1) {
               obj.trigger("click")
           }else if(obj2.length===1){
               obj2.trigger("click");
           }
        })
JS;
        Admin::script($script);
        return $this;
    }
}

app/Admin/bootstrap.php中调用后,可以全局使用双击来触发编辑按钮

app(TableService::class)->enableDoubleClickMenu();
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1

bootstrap.php 下添加

Admin::script(<<<JS
// 双击数据表格的行直接唤起编辑
$("#grid-table > tbody > tr").on("dblclick",function() {
    var obj = $(this).find(".feather.icon-edit");
    if (obj.length === 1) obj.trigger("click")
})
JS
);
8个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!