最近寫了一個基於clipboard.js的複製元件。 元件化複製文字和複製目標元素中的元素
下面開始介紹一下
#react-clipboardjs-copy
一個基於clipboard.js
的React複製元件
安裝
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
屬性。 -
target
- string React元件要複製的目標元素. 其對應clipboard.js
的data-clipboard-target
屬性。 -
action
- string React元件的行為. 其對應clipboard.js
的data-clipboard-action
屬性。但是目前只支援複製(預設: 'copy')。 -
selection
- boolean 設定是否清除複製的選中. 其對應clipboard.js
的事件e.clearSelection()
. (預設: true,不清除) -
onSuccess
- function 複製成功回撥. -
onError
- function 複製出錯回撥.
開發
git clone git@github.com:freeshineit/react-clipboardjs-copy.git
cd react-clipboardjs-copy
npm install
npm run dev
複製程式碼
如果有問題請issues。
求?和 fork