要删除的React节点不是此节点html5拖放的子节点

时间:2017-01-20 09:39:40

标签: html5 reactjs drag-and-drop

背景:

我有一个反应应用程序,它与一些团队有一个dropdpown,在选择一个团队时,它将加载可能的客户端和选定的客户端(如果之前选择的话)

问题是当我将值从可能拖动到选中时,该值会附加到所选内容中,但会出现以下错误 possible to selected error

当我将所选择的现有客户端移动到可能时,我将得到以下错误,并且该值显示两次。 twice added error

这是drop的代码。

drop(ev) {
    ev.preventDefault();
    let data = ev.dataTransfer.getData('text');
  ev.target.appendChild(document.getElementById(data));
let p = ReactDOM.findDOMNode(this.refs.plist.refs.dnd);
    let pItems = (p.getElementsByTagName('li'));
    let s = ReactDOM.findDOMNode(this.refs.slist.refs.dnd);
    let sItems = s.getElementsByTagName('li');
  this.setState({
      possibleClients: createClientJson( pItems),
      selectedClients: createClientJson(sItems),
});
}

function createClientJson(items) {
  let result = [];
  for(let i=0; i<items.length; i++) {
    result.push(JSON.parse(items[i].getAttribute('data-info')));
  }
  return result;
}

0 个答案:

没有答案