最近寫了一個基於clipboard.js的複製組件。 組件化複製文本和複製目標元素中的元素css
下面開始介紹一下react
#react-clipboardjs-copygit
一個基於clipboard.js
的React複製組件github
npm install --save react-clipboardjs-copy
複製代碼
import React from 'react';
import {ReactClipboard} from 'react-clipboardjs-copy'
import './App.css';
export default class App extends React.Component {
render () {
return (
<div className="App"> <section className="app-item"> <div className="app-item-desc">copy text</div> <ReactClipboard text='copy text' onSuccess={(e) => console.log(e)} onError={(e) => console.log(e)}> <button>Copy</button> </ReactClipboard> </section> </div>
)
}
}
複製代碼
<ReactClipboard
target={'.copy-target'}
selection={true}
onSuccess={(e) => console.log(e)}
onError={(e) => console.log(e)}
>
<button>Copy</button>
</ReactClipboard>
複製代碼
text
- string React組件要複製的內容,其對應 clipboard.js
的 data-clipboard-text
屬性。npm
target
- string React組件要複製的目標元素. 其對應 clipboard.js
的 data-clipboard-target
屬性。app
action
- string React組件的行爲. 其對應 clipboard.js
的 data-clipboard-action
屬性。可是目前只支持複製(默認: 'copy')。組件化
selection
- boolean 設置是否清除複製的選中. 其對應 clipboard.js
的事件 e.clearSelection()
. (默認: true,不清除)ui
onSuccess
- function 複製成功回調.spa
onError
- function 複製出錯回調.code
git clone git@github.com:freeshineit/react-clipboardjs-copy.git
cd react-clipboardjs-copy
npm install
npm run dev
複製代碼
若是有問題請issues。
求🌟和 fork