laravel Dcat Admin 入门应用(七)列copyable和自定义copy

laravel Dcat Admin 入门应用(七)列copyable和自定义copy

Dcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的 HTML 代码。
laravel Dcat Admin 入门应用(三)Grid 之 Column

福利彩蛋:没有好玩的 API 接口?上百款免费接口等你来,免费 API,免费 API 大全

copyable复制

系统自带列copy:方便快捷,但是不能满足自定义信息复制

    //当前类可以复制
    $grid->column('copy')->copyable() 

image.png

自定义复制

自定义复制,显示编号,点击复制:可以自定义需要复制的内容,不局限于显示的内容,
演示:

image.png

实现代码

js绑定和触发

首先在controller里面添加js脚本实现selector绑定和触发

    protected function script()
    {
        return <<<JS
        
//绑定selector,触发的时候显示弹窗
$('.content-body').on('click', '.copy-author-id', function () {
    showCopy($(this))
})

//点击 复制的是执行复制
$('body').on('click', '.custom-copy-id', function () {
    customCopy($(this))
})

JS;
    }
页面渲染时候加载
     /**
     * 页面列表展示,可以附加一些页面设置
     *
     * @param Content $content
     * @return Content
     */
    public function index(Content $content)
    {
        // 在这里可以引入你的js或css文件
        Admin::js(static::$js);
        
        // 需要在页面执行的JS代码,例如初始化代码
        // 通过 Admin::script 设置的JS代码会自动在所有JS脚本都加载完毕后执行
        Admin::script($this->script());

        //可以链式添加页面原始(html,js,css等)一个body相当于页面一个div.row层
        return $content->body($this->grid());
    }
grid列处理

    //点击标题的时候复制标题对应的Id:其他需要复制的内容都可以放到data-content中
    $grid->column('title', admin_trans_field('nick_name'))
        ->display(function ($title) {
            return "<span class='copy-author-id' data-content='" . encodeId($this->id) . "'>$title</span>";
        });
引入js copy文件
    public static $js = [
        '/js/previewImg.js'
    ];

/js/previewImg.js 文件内容

    //显示信息copy的弹窗层
    function showCopy(that) {
        layer.closeAll()
        var sourceId = that.attr('data-content')
        var cp = ' <a class="custom-copy-id" href="javascript:;" data-content="' + sourceId + '" style="color:red;cursor: pointer;">复制ID</a>';
        var html = sourceId + cp;
        layer.tips(html, that, {
            tips: [1, 'black'], //还可配置颜色,
            area: ['auto', 'auto'],
            time: 10000,
            shadeClose:true,
            shade:0.01
        });
    }
    
    /**
     * 自定义copy
     *
     * @param that
     */
    function customCopy(that) {
        var content = that.data('content');
    
        var $temp = $('<input>');
    
        $("body").append($temp);
        $temp.val(content).select();
        document.execCommand("copy");
        $temp.remove();
        layer.closeAll()
    }

福利彩蛋:没有好玩的 API 接口?上百款免费接口等你来,免费 API,免费 API 大全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/755415.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解Qt 控件:Display Widgets部件(1) 以及 QT自定义控件(电池)

QT自定义控件(电池&#xff09; Chapter1 QT自定义控件(电池&#xff09;Chapter2 Qt教程 — 3.5 深入了解Qt 控件&#xff1a;Display Widgets部件(1)1 Display Widgets简介2 如何使用Display Widgets部件 Chapter3 Qt自定义控件电池组件使用前言一、最基本的使用方法二、Batt…

Navicat安装与连接教程

navicat 的安装 官网&#xff1a;https://www.navicat.com.cn/ 进入官网之后点击左上角的产品&#xff0c;然后往下滑动就可以看见许多类型&#xff0c;我们使用的是MongoDB数据库&#xff0c;所以就下载Navicat 17 for MongoDB 进入到这里之后&#xff0c;选择自己的系统版本…

基于Vue.js的电商前端模板:Vue-Dashboard-Template的设计与实现

摘要 随着电子商务的飞速发展&#xff0c;前端页面的设计和实现变得愈发重要。本文介绍了一个基于Vue.js的电商前端模板——Vue-Dashboard-Template&#xff0c;旨在提供一个高性能、易扩展的电商平台前端解决方案。该模板遵循响应式设计、模块化、组件化开发等设计原则&#…

使用python创建虚拟环境及exe打包

使用python创建虚拟环境及exe打包 使用python创建虚拟环境在虚拟环境使用PyQt进行exe封装 使用python创建虚拟环境 优点&#xff1a; &#xff08;1&#xff09;可以实现环境的即插即用&#xff08;2&#xff09;可以在使用pyqt打包时实现最小体积使用库——venv 进入你要创…

业务代码插件式开发实践

在学习编程初期&#xff0c;会接触到设计模式的概念&#xff1a;23种设计模式&#xff0c;单例模式&#xff0c;策略模式&#xff0c;… 。接触业务研发后&#xff0c;对设计模式的使用和实践有了更深的见解。 使用设计模式是目的为了更高效的支撑业务诉求&#xff0c;如何在保…

selenium4如何指定chrome和firefox的驱动(driver)路径

pythonpytestselenium框架的自动化测试脚本。 原本用的chrome&#xff0c;很久没用了&#xff0c;今天执行&#xff0c;发现chrome偷偷升级&#xff0c;我的chromedriver版本不对了。。。鉴于访问chrome相关网站太艰难&#xff0c;决定弃用chrome&#xff0c;改用firefox。因为…

基于SSM+Jsp的疫情居家办公OA系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

vue使用glide.js实现轮播图(可直接复制使用)

效果图 可以实现自动轮播&#xff0c;3种切换方式&#xff1a;直接滑动图片、点击两侧按钮、点击底部按钮 体验链接:http://website.livequeen.top 实现 一、引入依赖 1、控制台引入依赖 npm install glidejs/glide 2、在css中引用 <style scoped> import glidejs/g…

华为达芬奇与英伟达CUDA架构对比分析

华为达芬奇与英伟达CUDA&#xff0c;必有一战&#xff01; 大数据产业创新服务媒体 ——聚焦数据 改变商业 当初英特尔和微软&#xff0c;搞出来个Wintel&#xff0c;制霸电脑时代很多年。从某种意义上&#xff0c;英伟达的CUDA&#xff0c;就相当于CPU时代的windows&#x…

高性价比 ESP32 网络收音机:OLED 显示+编码器控制 (源码开源)

摘要: 本文将详细介绍如何使用 ESP32 开发板制作一个功能完备的网络收音机。我们将涵盖硬件选择、软件架构、网络连接、音频流解码、用户界面设计等方面&#xff0c;并提供完整的代码示例和详细的解释&#xff0c;帮助您轻松构建自己的网络收音机。 关键词: ESP32, 网络收音机…

Python | Leetcode Python题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; MX5000000 is_prime [1] * MX is_prime[0]is_prime[1]0 for i in range(2, MX):if is_prime[i]:for j in range(i * i, MX, i):#循环每次增加iis_prime[j] 0 class Solution:def countPrimes(self, n: int) -> int:return sum(is_prim…

前端通过ResizeObserver来监听dom大小动态渲染echarts

export const GlobalResizeObserver (function () {const ATTR_NAME global-resizeobserver-keyconst attrValueToCallback {}function antiShake(fn, delay, immediate false) {let timer null//不能用箭头函数return function () {//在时间内重复调用的时候需要清空之前…

Linux Vim最全面的教程

Linux Vim简介 Linux Vim 是一个高度可定制的文本编辑器&#xff0c;广泛用于 Linux 和类 Unix 系统中。它起源于 Vi&#xff0c;一个早期的 Unix 系统中的编辑器&#xff0c;Vim 是 "Vi IMproved"&#xff08;改进版 Vi&#xff09;的缩写。Vim 继承了 Vi 的许多特性…

理解论文笔记:基于贝叶斯网络和最大期望算法的可维护性研究

看了与上一篇研究方向一致的文章&#xff0c;上一篇19年的&#xff0c;这一篇22年的更新。若有侵权&#xff0c;请联系删除。 I. INTRODUCTION 介绍 主要介绍了使用贝叶斯网络和历史数据对无线传感器网络可维护性研究的重要性和必要性&#xff0c;并对下面的各章进行了…

为什么有的手机卡没有语音功能呢?

大家好&#xff0c;今天这篇文章为大家介绍一下&#xff0c;无通话功能的手机卡&#xff0c; 在网上申请过手机卡的朋友应该都知道&#xff0c;现在有这么一种手机卡&#xff0c;虽然是运营商推出的正规号卡&#xff0c;但是却屏蔽了通话功能&#xff0c;你知道这是为什么吗&am…

APP项目测试 之 APP功能测试

1. APP测试流程 需求评审——计划编写——用例设计——用例执行——缺陷管理——测试报告 2. APP测试内容 功能测试 专项测试 性能测试 3.注册测试点扩充 4.登录测试点扩充 5.购物车测试点扩充 6.搜索测试点扩充 7.支付测试点扩充 8.评论测试点扩充 未完待续。…

decode()方法——解码字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 解码是将字节流转换成字符串&#xff08;文本&#xff09;&#xff0c;其他编码格式转成unicode。在Python中提供了decode()方法&#xff0…

layui在表格中嵌入上传按钮,并修改上传进度条

当需要在表格中添加上传文件按钮&#xff0c;并不需要弹出填写表单的框的时候&#xff0c;需要在layui中&#xff0c;用按钮触发文件选择 有一点需要说明的是&#xff0c;layui定义table并不是在定义的标签中渲染&#xff0c;而是在紧接着的标签中渲染&#xff0c;所以要获取实…

小模型家族又新增成员Gemma2

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调重新阅读。而最新科技&#xff08;Mamba&#xff0c;xLSTM,KAN&#xff09;则提供了大模…

java大型医院绩效考核系统源码(医院为什么需要绩效机制?)医院绩效考核系统源码 医院管理绩效考核系统源码

java大型医院绩效考核系统源码&#xff08;医院为什么需要绩效机制&#xff1f;&#xff09;医院绩效考核系统源码 医院管理绩效考核系统源码 医院作为提供医疗服务的核心机构&#xff0c;其运营和管理效率直接影响到患者的就医体验、治疗效果以及医院的长期发展。因此&#xf…