1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
index.tsx 1.3 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
zengqiao Отправлено 4 лет назад c6e4b60
import * as React from 'react';
import ClipboardJS from 'clipboard';
import {
message,
} from 'component/antd';
const triggerEvent = (eventName: string, element: Element) => {
let event;
const ele = element || document;
event = document.createEvent('HTMLEvents');
event.initEvent(eventName, true, true);
ele.dispatchEvent(event);
};
export class Clipboard extends React.Component<any> {
public state = {
text: '',
};
private clipboard: any = null;
private dom: Element = null;
public componentDidMount() {
const clipboard = this.clipboard = new ClipboardJS('.___clipboard', {
text(trigger: Element) {
return trigger.getAttribute('data-text');
},
});
clipboard.on('success', (e: any) => {
message.success('复制成功!');
e.clearSelection();
});
clipboard.on('error', (e: any) => {
message.error('复制失败!' + e);
});
}
public componentWillUnmount() {
this.clipboard.destroy();
}
public copy(text: string) {
this.setState({ text });
setTimeout(() => triggerEvent('click', this.dom), 0);
}
public render() {
return (
<div className="___clipboard" data-text={this.state.text} ref={dom => this.dom = dom} />
);
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.1.0