Cara melaksanakan fungsi salin dalam react: 1. Laksanakan fungsi salin melalui perpustakaan "copy-to-clipboard" 2. Gunakan perpustakaan "react-copy-to-clipboard" untuk melaksanakan salinan fungsi; 3. Melalui kaedah "navigator" .clipboard.writeText(e)" untuk merealisasikan penyalinan; 4. Untuk merealisasikan penyalinan melalui kaedah "document.execcommand("copy")"; 5. Untuk merealisasikan fungsi salinan melalui "copy- js" perpustakaan.
Persekitaran pengendalian tutorial ini: sistem Windows10, react18 Versi .0.0, komputer Dell G3.
Bagaimana untuk melaksanakan fungsi salin dalam bertindak balas?
Salinan satu klik dalam React - lima cara
1 Kaedah pemasangan
// npm安装---这种方式可能会对babel的版本有限制 npm i --save copy-to-clipboard //cdn引入 <script src="https://wzrd.in/standalone/copy-to-clipboard@latest" async></script>
2 🎜>
import copy from 'copy-to-clipboard';const handleClick = ()=>{ copy('复制的内容'); message.success('复制成功')}<Button onClick={handleClick}>复制</Button>
2. Penggunaan - ada sesuatu
npm i --save react-copy-to-clipboard
, hanya boleh ada satu elemen akar, dan saya sendiri mencubanya Jika dalam , elemen akar dibalut dengan dua nod adik-beradik seperti div dan butang, iaitu. salinan tidak akan berkesan. Saya tidak tahu mengapa, tetapi rakan-rakan yang berminat boleh menyemak kod sumber. <CopyToClipboard></CopyToClipboard>
<CopyToClipboard></CopyToClipboard>
import { CopyToClipboard } from 'react-copy-to-clipboard'; <CopyToClipboard text={'复制的内容'} onCopy={(_, result) => { if (result) { message.success('复制成功'); } else { message.error('复制失败,请稍后再试'); } }} > <Button type='primary' icon={<CopyOutlined />} /> </CopyToClipboard>
Saya tidak pernah menggunakan kaedah ini, dan saya tidak tahu apakah perangkapnya. Cara menggunakan
<button id="btn" style="margin-top: 40px;">一键复制</button>const btn = document.querySelector('#btn'); btn.addEventListener('click', () => { const textarea= document.createElement('textarea'); textarea.setAttribute('readonly', 'readonly'); textarea.value = 'xxxxx'; document.body.appendChild(textarea); textarea.select(); if (document.execCommand('copy')) { document.execCommand('copy'); alert('复制成功'); } document.body.removeChild(textarea); })
document.execcommand("copy")
2. Gunakan
// npm包下载npm install copy-js --save// CDN导入<script src="//cdn.rawgit.com/duyetdev/copy.js/master/dist/copy.min.js"></script>
import copy from 'copy-to-clipboard';copy('hello world', function(err) { if (err) console.log('Some thing went wrong!'); console.log('Copied!');});
Walau bagaimanapun, kaedah ini mungkin mempunyai had dalam penyemak imbas dalam sesetengah aplikasi Ia boleh digunakan dalam penyemak imbas biasa, tetapi sebagai contoh, tiada objek papan keratan dalam hujung Feishu. pelayar tamat. Ia masih bergantung pada senario penggunaan.
1. Cara menggunakan
Mungkin ada kaedah lain yang belum difikirkan
const { Search } = Input;const copyLink = (e: any) => { navigator.clipboard.writeText(e).then( () => { message.success(intl.t('复制成功')); console.log(e); }, () => { message.error(intl.t('复制失败,请稍后再试')); }, );}; <Search bordered={false} value={window.location.href} enterButton={intl.t('复制链接')} size='middle' onSearch={copyLink} />
Pembelajaran yang disyorkan: "
react Tutorial videoAtas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi salin dalam bertindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!