gpt4 book ai didi

dart - 在 Dart 中将子元素添加到 SelectElement

转载 作者:行者123 更新时间:2023-12-03 03:06:46 24 4
gpt4 key购买 nike

我正在创建一个(非常大的)选择元素,需要在单个页面的多个位置添加该元素。我不是为每个实例重新创建它,而是制作一个原型(prototype),然后为每个实例对其进行深度克隆,并向新实例添加一些新属性。

Dart 中的一切都按预期工作,但当我将其编译为 JavaScript 时失败。

以下是重现问题的最少步骤:

<!DOCTYPE html>

<html>
<head>
<title>test</title>
<script type="application/dart">
import "dart:html";

main()
{
List<String> languages = ["Japan", "Ireland", "Spain"];
SelectElement langSelect = new SelectElement();
for (int i = 0; i < languages.length; i++) {
OptionElement option = new OptionElement();
option.text = languages[i];

print("Before Assigning child");
langSelect.children.add(option);
print("After Assignment");
}
}
</script>
<script src="packages/browser/dart.js"></script>
</head>
<body>
<p id="text">Test</p>
</body>
</html>

预期的输出是要打印 3 次“Before Assigning child”和“After Assignment”。在 Dart 中运行时就是这种情况。编译为 JavaScript 后,我​​打印出“Before Assigning child”,然后在 Dartium 中运行时出现以下错误:
Uncaught Error: Assertion failed shadow_dom.debug.js:1437
assert shadow_dom.debug.js:1437
assertIsNodeWrapper shadow_dom.debug.js:2592
mixin.appendChild shadow_dom.debug.js:2780
VG.h html_dart2js.dart:7928
E2 test.html.0.dart:17
Iq test.html_bootstrap.dart:11
aX.vV isolate_helper.dart:248
Rq isolate_helper.dart:66
(anonymous function) test.html_bootstrap.dart.js:4350
init.currentScript test.html_bootstrap.dart.js:4330
(anonymous function) test.html_bootstrap.dart.js:4344
(anonymous function)

Dart 编辑器:版本 0.8.7_r29341
Dart SDK:版本 0.8.7.0_r29341

最佳答案

我通过将 Dart 编辑器更新到 0.8.10_r30036 版、将 Dart SDK 更新到 0.8.10.6_r30036 版并运行 pub update 来完成这项工作。

关于dart - 在 Dart 中将子元素添加到 SelectElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19929424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com