拖拽标题及拖拽表头
antd拖拽标题实现添加功能:
import React, {
PureComponent } from 'react';
import {
Tag, Input, Tooltip, Icon, Card } from 'antd';
import styles from './index.less';
export default class TopTags extends PureComponent {
state = {
tags: ['活动名称', '活动项2', '活动项目3', '项目4'],
tagsTarget: [],
tragName: '',
};
handleClose = removedTag => {
const tagsTarget = this.state.tagsTarget.filter(tag => tag !== removedTag);
// console.log(tags);
this.setState({
tagsTarget });
};
//拖拽开始
tragStart = (e, item) => {
// console.log("拖拽开始 e,item ", e, item);
e.dataTransfer.setData('item', JSON.stringify(item)); // 拖拽元素携带的数据
this.setState({
tragName: item });
};
// 拖拽元素经过放置元素时
dragOver = e => {
e.preventDefault(); // 此处的代码是必须的 不然无法拖拽
console.log('拖拽中');
};
// 拖拽元素放到放置元素时
drop = e => {
e.preventDefault();
// 放置之后的后续操作
// console.log("后续操作 e", e);
const {
tagsTarget, tragName } = this.state;
if (tagsTarget.length < 3 && !tagsTarget.includes(tragName))
this.setState({
tagsTarget: tagsTarget.concat(tragName) });
};
render() {
const {
tags, tagsTarget } =