1

我在页面上有两个自动完成文本框,可以在我的项目中进行一些高级搜索。我Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.在第二次删除手动输入时遇到错误。

我使用了 facebook 自动完成插件。请找到我的JS Fiddle Demo 一旦在自动完成上输入文本并按回车键隐藏文本框上的手动输入,我就会遇到问题。它发生在第一个盒子上,但在第二个盒子上失败了。

我的演示如下所示

对此有任何帮助..?

4

1 回答 1

0

你应该明白会发生什么是错误行 React lib 包含DOMChildrenOperations.js,这里是函数

function removeChild(parentNode, childNode) {
  if (Array.isArray(childNode)) {
    var closingComment = childNode[1];
    childNode = childNode[0];
    removeDelimitedText(parentNode, childNode, closingComment);
    parentNode.removeChild(closingComment);
  }
  parentNode.removeChild(childNode);
}

您的情况的原因是模型在初始状态下是不同的,而 React 尝试更新您的 DOM,因为第 3 方 DOM 操作库。对我来说,发生了同样的错误,因为childNode在我的情况下是 2 个圆顶节点来解决这个问题,我只是div为我的元素添加了一个更像父级的节点,该元素由第 3 方库编辑

于 2017-09-17T12:17:53.490 回答