![](/img/trans.png)
[英]How to use d3js force layout to generate the default hierarchical layout generated by graphviz dot
[英]How to use default HTML DOM functions with D3js
我一直在尝试找出如何在我制作的 Bootstrap 模态中清除 HTML 表单,我主要使用 D3js 进行 object 操作。 但是,因为我一直在尝试使用 D3 重置表单的值(例如d3.select('#my-text-input').attr('value', '')
或d3.select('#my-text-input').attr('value', null)
),值仍然存在。 我发现在 HTML 中默认有.reset()
function,但每次我尝试使用d3.select('#my-form').reset()
一些变体时,我都会收到一条错误消息,说这是不是 D3 function。
这引出了我更大的问题:有没有办法将内置的 HTML 方法与 D3 选择一起使用?
作为旁注,我发现了我自己的问题的答案,我已经发布了这个答案,以防某些可怜的人遇到和我一样的问题。 但是,我非常愿意接受属于这个一般主题的其他技巧、评论或建议。
幸运的是,看起来有解决方法。
如果在 D3 选择后添加.node()
,则可以使用 HTML 内置方法。 例如,这就是我在自己的代码中使用.reset()
的方式:
d3.select('#my-form').node().reset()
或者还有:
let form = d3.select('#my-form').node()
form.addEventListener('hidden.bs.modal', (e) => {
form.reset()
}
'hidden.bs.modal'
是Bootstrap 5 添加的事件监听器。 Github 文档中关于 D3 的selection.node()
的信息不多,但d3-selection存储库上有一小段信息。
欢迎任何其他指针。 我一直在努力成为一个更好的开发者。 我只是认为这可能会帮助其他人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.