Angular 5 - 复制到剪贴板

2024-03-14

我正在尝试实现一个图标,单击该图标会将变量保存到用户的剪贴板。我目前已经尝试了几个库,但没有一个能够做到这一点。

如何在 Angular 5 中正确地将变量复制到用户的剪贴板?


解决方案一:复制任何文本

HTML

<button (click)="copyMessage('This goes to Clipboard')" value="click to copy" >Copy this</button>

.ts file

copyMessage(val: string){
    const selBox = document.createElement('textarea');
    selBox.style.position = 'fixed';
    selBox.style.left = '0';
    selBox.style.top = '0';
    selBox.style.opacity = '0';
    selBox.value = val;
    document.body.appendChild(selBox);
    selBox.focus();
    selBox.select();
    document.execCommand('copy');
    document.body.removeChild(selBox);
  }

解决方案2:从文本框复制

HTML

 <input type="text" value="User input Text to copy" #userinput>
      <button (click)="copyInputMessage(userinput)" value="click to copy" >Copy from Textbox</button>

.ts file

    /* To copy Text from Textbox */
  copyInputMessage(inputElement){
    inputElement.select();
    document.execCommand('copy');
    inputElement.setSelectionRange(0, 0);
  }

演示在这里 https://stackblitz.com/edit/angular-6-copy-to-clipboard


解决方案3:导入第 3 方指令ngx剪贴板 https://github.com/maxisam/ngx-clipboard

<button class="btn btn-default" type="button" ngxClipboard [cbContent]="Text to be copied">copy</button>

解决方案4:定制指令

如果您更喜欢使用自定义指令,请查看 Dan Dohotaru 的answer https://stackoverflow.com/a/52949299/443244这是一个优雅的解决方案,使用ClipboardEvent.


解决方案5:角材料

Angular Material 9+ 用户可以利用内置剪贴板 https://material.angular.io/cdk/clipboard/overview复制文本的功能。还有一些可用的自定义功能,例如限制复制数据的尝试次数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 5 - 复制到剪贴板 的相关文章

随机推荐

  • 在内存中SQLite3共享数据库python

    我试图充分利用 aws 服务器 并想到跨多个线程使用内存数据库 在 python 中使用 SQLite 3 我在网上找到了这个命令 conn sqlite3 connect file memory cache shared 但后来我得到了这
  • 在Python中,如何在一行代码中创建一个包含n个字符的字符串?

    我需要在Python中生成一个包含n个字符的字符串 是否有一个简单的答案可以使用现有的 Python 库来实现这一目标 例如 我需要一串 10 个字母 string val abcdefghij 简单地重复同一个字母 10 次 string
  • xargs的默认分隔符可以更改吗?

    我想要以下行为 而不必使用选项显式指定它 xargs d n 与大多数命令不同 您不能只使用别名 因为管道无法识别别名 顺便说一句 为什么要这样设计 我也尝试创建自己的 bin xargs脚本 但我认为这并不像在脚本中读取 作为字符串那么简
  • D3 单击更新数据集并重新绘制条形图

    我是 d3 和 javascript 的新手 并且在更新数据集以及重新绘制条形时遇到问题 这是我到目前为止一直在查看的代码 http jsfiddle net TwEhT 2 http jsfiddle net TwEhT 2 我有一个函数
  • python 或 dask 并行生成器?

    是否有可能在Python中 也许使用dask 也许使用多重处理 将生成器 放置 在核心上 然后并行地单步执行生成器并处理结果 它需要特别是生成器 或带有 iter 生成器生成的所有生成元素的列表不适合内存 尤其 有了熊猫 我可以打电话rea
  • CSS margin vh 无法正常工作

    grenze background green height 96vh width 96vh baukasten background white height 86vh width 86vh margin 5vh border 1px s
  • 保持 CurrentCulture 处于异步/等待状态

    我有以下伪代码 string GetData var steps new List
  • 春季安全3.1

    当我尝试使用 Spring Security 的自定义登录表单时 无论我是否输入了正确的凭据 它都会将我返回到 admin login 页面 当我使用空的
  • joomla 将视图添加到另一个视图中

    我使用 joomla MVC 我想构建一个具有不同选项卡的表单 这些选项卡是表单的不同部分 其中包含输入 我需要包含一些与其他表单通用的选项卡 我希望能够从单独的文件或视图加载此常见内容 这样我就没有重复的代码 而且当我需要对表单进行更改时
  • 获取Enum值的名称

    我正在尝试创建一个函数 我们可以在其中获取枚举值的名称值 例如 Get Enum ValueName DayOfWeek 0 这将返回 Sunday 但我的代码不起作用 它说类型未定义 Private Function Get Enum V
  • Powershell 脚本可以记录已扫描的文件并在下次运行时忽略它们?

    我正在尝试编写一个脚本 该脚本将递归扫描目录 带有 Error 扩展名的本地文件 然后通过电子邮件向一群人发送文件列表 我计划通过 Control M 运行此脚本 并让它每 20 分钟运行一次 我希望脚本记录自上次运行以来已扫描的文件 而不
  • 输入组和表单组之间的区别

    css类之间的使用有什么区别input group and form group在引导程序中 输入组是扩展的表单控件 使用输入组 您可以轻松地将文本或按钮添加到基于文本的输入中 例如 您可以根据需要添加 符号 作为 Twitter 用户名或
  • 将符合 ISO 8601 的字符串转换为 java.util.Date

    我正在尝试转换ISO 8601 http en wikipedia org wiki ISO 8601格式化字符串为java util Date 我找到了模式yyyy MM dd T HH mm ssZ如果与区域设置一起使用 则符合 ISO
  • 无法有趣地计算 R 中光栅堆栈上的像素级回归

    我正在处理栅格 我有一个带有 7n 层的 RasterStack 我想使用下面的公式计算像素级回归 我试图这样做raster calc 但我的功能失败并显示消息 lm fit x y 偏移量 偏移量 奇异 ok 奇异 ok 中的错误 0 非
  • 在单独的线程上运行 Log4Net 附加程序

    目前 我有自己的日志系统 其中日志本质上是一个队列 有一个单独的线程侦听该队列并执行所有实际的写入操作 系统处理大量日志消息 文件在几分钟内很容易超过 10 MB 大小 因此在调用线程中进行实际日志记录是不可行的 如果 log4net 已经
  • 在隐藏标签中播放声音

    我正在尝试在网页上设置声音 我找到了这段代码 这是工作代码 当div是可见的 但我想隐藏起来并工作 在这种情况下它不起作用 因为它被隐藏了style属性 如何让它不可见并同时播放声音 div style display none div 我
  • 在 CSS 中 .a.b 与 .a .b 不同吗?

    在我的 css 文件中是 a b不同于 a b 这是一个简单的问题 但它总是让我烦恼 我尝试过 但我想我会将其发布在这里 以防作为参考有用 在我的 css 文件中 a b 与 a b 不同吗 Yes a b是一个或多个具有两个类的元素 di
  • MySQL 连接器 ODBC odbc.ini“选项”标志值

    首先 感谢您花时间和精力阅读这个问题 我试图更好地理解 odbc ini 文件 在 Unix Linux 系统上 的 Option 属性中指定的值是如何确定的 在 MySQL 文档中搜索 Option 标志可以采用的值之后 我不确定如何得出
  • 基于标准 PHP 查询字符串的路由

    如您所知 Zend Framework v1 10 使用基于斜杠分隔的参数的路由 例如 server controllerName actionName param1 value1 param2 value2 问题是 如何强制 Zend F
  • Angular 5 - 复制到剪贴板

    我正在尝试实现一个图标 单击该图标会将变量保存到用户的剪贴板 我目前已经尝试了几个库 但没有一个能够做到这一点 如何在 Angular 5 中正确地将变量复制到用户的剪贴板 解决方案一 复制任何文本 HTML