クリップボード-ポリフィルを使用したプラグイン・パッケージ
1つのインポートが反応から{コンポーネント}「反応」 2 3「クリップボード-ポリフィル」からインポートクリップボードを 4「antd」からインポート{ボタン} 5 6エクスポートデフォルトクラス主なコンポーネントを拡張{ 7 コンストラクタ(小道具){ 8 スーパー(小道具) ; 9 この .state = { 10 OPJ:{ 11 "param.code.name": "姓名" 、 12 "param.codexname": "昵称" 、 13 "param.code.age": "年龄" 、 、 15 「param.code.hobby」:「趣味」、 16 }、 17 ヴァル:「こんにちは、誰もが、これはと呼ばれる新しい学生が、今年も呼び出すことができている、など、のような」、 18 changeVal:「」 19 } 20 } 21である (){レンダリング 22である // はconsole.log(Object.entries(this.state)) 23が 復帰( 24 <DIV> 25 <クラス名= DIV "トップ"> 26である {Object.entries(この .STATE .opj).MAP((項目、指数)=> { 27 リターン<ボタンクラス名= "BTN"キー= {索引}のonClick = { この .copy.bind(これは、インデックス、項目)}> {項目[1]} </ボタン> 28 })} 29 </ div> 30 < TEXTAREA NAME = "" ID = "テキスト" REF = "テキスト" onPaste = { この .paste.bind(本)} COLS = "30"行= "10"の値= { この .state.val}のonChange = {( E)=> { 31 この.setState({ 32 ヴァル:e.target.value 33 }) 34 }} /> 35 <ボタンのonClick = { この.del.bind(本)}>除去値</ボタン> 36 <ボタンのonClick = { この .add.bind(本)}>補数値</ボタン> 37 </ div> 38である )、 39 } 40 コピー(インデックス、項目){ 41である // document.execCommand( "コピー"); //ブラウザ実行コピーコマンド 42は、 // せBTN = document.querySelectorAll( "BTN")[索引] 43である // [btn.value = `アイテム{$ [1]}({$アイテム[0]})] ` 44は、 // (btn.select) 45 // はconsole.log(document.execCommand( "コピー")) 46である // BTN。値=項目[1] 47 48 LETテキスト= `[アイテム{$の[1]}({$アイテム[0 ]})]`; 49 // クリップボードにコピーしたテキスト 50 clipboard.writeText(テキスト) 51である // はconsole.log(テキスト); 52である } 53は、 デル(){ 54が STRが= LET この.state.valを、 55 STR str.replace =( "]"、 "" ) 56である せRES = / \ [* \(/。?G、 57である STR str.replace =(RES、 "(" ) 58 // はconsole.log(STR); 59 この.setState({ 60 ヴァル:STR 61です }) 62 } 63 追加(){ 64 LET列str = この.state.val。 65 であれば(str.indexOf( "]")<0 ){ 66 にconsole.log(111 ) 67 STR = str.replace(/\((.+?)\)/ G、($ 0、$ 1、$ 2)= > { 68 はconsole.log($ 0、$ 1、$ 2、 "============" ); 69 リターン `[$ { この .state.opj [$ 1]} $ {$ 0 }]` 70 }); 71 にconsole.log(STR) 72 本.setState({ 73 ヴァル:STR 74 }) 75 } 76 77 } 78 // ペーストタイムトリガ 79 の貼り付け(){ 80 // -------- 81 この.setState({ 82 changeVal:この.state.val 83 } ) 84 85 } 86 }