html - 如何在 dart 中查询 Paper Input 元素的输入字段

标签 html dart dart-polymer shadow-dom

因此,我正在尝试访问隐藏在纸张输入字段深处的输入字段。这样我就可以更改输入类型等。检查该元素后,您可以看到它有 2 个影子根 as explained in this blog 。然而,该博客中解释的方法不再有效。我使用的是 dart 版本 1.5.3,polymer 0.12.0-dev。

我尝试像这样查询纸张输入:

querySelector('#paper-input-id').shadowRoot.querySelector('#input');

但是,这会返回 null。这是因为 ShadowRoot 属性仅返回第一个影子根。输入字段隐藏在第二个影子根中。我想我要问的是是否有一种通用的方法来选择元素的第 n 个阴影根?

最佳答案

这似乎正是我在 <core-input> 的单元测试中所做的。

var input = dom.document.querySelector("#changeAndInputEvent") as CoreInput;
var domInput = (input.shadowRoot.olderShadowRoot.querySelector('#input') as dom.InputElement);

还应该起作用的是

var domInput = (dom.document.querySelector("#changeAndInputEvent /deep/ #input");

var domInput = (dom.document.querySelector("* /deep/ #changeAndInputEvent /deep/ #input");

当纸张输入本身位于shadow-dom内部时

关于html - 如何在 dart 中查询 Paper Input 元素的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892816/

相关文章:

layout - 如何在 flutter 中删除列中小部件之间的空间?

flutter - 使用 Riverpod Flutter 创建登录功能

dart - 如何使用 polymer-dart repeat 创建一个 <select> 元素

html - 显示短 block 内联中心

javascript - 如何用按钮增加字体大小?

dart - 无法添加 audio_service 包。需要指导

dart - 使用 custom_element_apigen : does not working 到 Dart 的纸质数据表端口

HTML/CSS - div 内的环绕矩形?

HTML 图像在 Microsoft Edge 中旋转

css - 使用 Polymer.dart 在分布式(即 light dom)节点上使用 Shadow Dom CSS 动画