Dart可以绑定到id属性吗?

Dart可以绑定到id属性吗?,dart,dart-webui,Dart,Dart Webui,我需要从一个列表中生成一个单选按钮输入列表,并将标签链接到,每个标签都需要自己的id 但Dart似乎无法绑定到id属性: {{s} 上述结果导致错误: 错误:第40行第22位:非法使用自动生成的类名'DivElement' 所以我的问题是:Dart可以绑定到id属性吗?如果可以,如何绑定 还有另一个问题:是否有其他方法可以使用web_ui生成带有标签的单选按钮输入列表?我将尝试回答您的另一个问题。您可以创建一对元素(单选按钮输入和标签),并根据需要附加到DOM。要创建“男性”和“女性”按钮,可以

我需要从一个列表中生成一个单选按钮输入列表,并将标签链接到,每个标签都需要自己的id

但Dart似乎无法绑定到id属性:

{{s}

上述结果导致错误:

错误:第40行第22位:非法使用自动生成的类名'DivElement'

所以我的问题是:Dart可以绑定到id属性吗?如果可以,如何绑定


还有另一个问题:是否有其他方法可以使用web_ui生成带有标签的单选按钮输入列表?

我将尝试回答您的另一个问题。您可以创建一对元素(单选按钮输入和标签),并根据需要附加到DOM。要创建“男性”和“女性”按钮,可以执行以下操作:

var button1=新的RadioButtonInputElement; 按钮1.姓名=性别; 按钮1.value=男性; 按钮1.属性['id']=性别男性; var按钮1U标签=新标签元素; button1_label.attributes['for']=button1.id; 按钮1_标签。文本=男性; var button2=新的RadioButtonInputElement; 按钮2.姓名=性别; 按钮2.value=女性; 按钮2.属性['id']=性别/女性; var按钮2\u标签=新标签元素; button2_label.attributes['for']=button2.id; 按钮2_标签。文本=女性; 使用新的RadioButtonInputElement创建无线电输入;使用新标签元素创建附带标签

这个代码不是特别枯燥;如果要生成很多这样的函数,可能需要将其重构为函数。大概是这样的:

列表createButtonWithLabelname,值{ var按钮=新的RadioButtonInputElement; button.name=名称; button.value=值; 属性['id']=${name}{value}; var标签=新标签元素; label.attributes['for']=button.id; label.text=value.toUpperCase; 返回[按钮,标签]; } 然后像这样使用它:

var form=新FormElement; 带有标签“性别”、“男性”的form.nodes.addAllCreateButton; 带有标签“性别”、“女性”的form.nodes.addAllCreateButton; 查询'body'。nodes.addform;
这将为您提供一个包含两个单选按钮的表单。

我将尝试回答您的备选问题。您可以创建一对元素(单选按钮输入和标签),并根据需要附加到DOM。要创建“男性”和“女性”按钮,可以执行以下操作:

var button1=新的RadioButtonInputElement; 按钮1.姓名=性别; 按钮1.value=男性; 按钮1.属性['id']=性别男性; var按钮1U标签=新标签元素; button1_label.attributes['for']=button1.id; 按钮1_标签。文本=男性; var button2=新的RadioButtonInputElement; 按钮2.姓名=性别; 按钮2.value=女性; 按钮2.属性['id']=性别/女性; var按钮2\u标签=新标签元素; button2_label.attributes['for']=button2.id; 按钮2_标签。文本=女性; 使用新的RadioButtonInputElement创建无线电输入;使用新标签元素创建附带标签

这个代码不是特别枯燥;如果要生成很多这样的函数,可能需要将其重构为函数。大概是这样的:

列表createButtonWithLabelname,值{ var按钮=新的RadioButtonInputElement; button.name=名称; button.value=值; 属性['id']=${name}{value}; var标签=新标签元素; label.attributes['for']=button.id; label.text=value.toUpperCase; 返回[按钮,标签]; } 然后像这样使用它:

var form=新FormElement; 带有标签“性别”、“男性”的form.nodes.addAllCreateButton; 带有标签“性别”、“女性”的form.nodes.addAllCreateButton; 查询'body'。nodes.addform;
这将为您提供一个带有2个单选按钮的表单。

如您的示例所示,web ui编译器以一种非常特殊的方式使用ID。编译器假定它们是字符串常量,并使用它们生成字段和局部变量名,以及在生成的代码中查询元素


我认为这是一个bug/特性请求,应该在web_ui中以某种方式解决。您可以在这里关注这个问题的进展:

正如您的示例所示,web ui编译器以一种非常特殊的方式使用ID。编译器假定它们是字符串常量,并使用它们生成字段和局部变量名,以及在生成的代码中查询元素


我认为这是一个bug/特性请求,应该在web_ui中以某种方式解决。您可以在此处关注此问题的进展情况:

感谢您的回答。我跟随,并能看到它将工作。不过,我们的目的是使用web_ui来实现这一点,以避免在代码中生成单调乏味的元素和维护问题。谢谢您的回答。我跟随,并能看到它将工作。然而,其目的是使用web_ui来实现这一点,以避免在代码中生成繁琐的元素和维护问题。