使用 AngularDart +角度组件 https://github.com/dart-lang/angular_components
我需要创建一个下拉列表,其中填充了一小部分项目(使其工作),并自动设置为模型中对象的当前选择(尚未使其工作)。
我在名为的组件中有一个字符串数组types
。有一个模型对象(selected
) 其字段 (type
) 对应于列表中types
.
<form class="form">
//other stuff
<material-dropdown-select>
<material-select-item *ngFor="let type of types" [selected] = "selected.type == type">
{{type}}
</material-select-item>
</material-dropdown-select>
</form>
尽管[selected]
属性,这不会同步当前值selected.type
为下拉列表的默认值。我在这里做错了什么?
提前致谢。
EDIT
有趣的是,即使在这种状态下,下拉列表也无法按预期工作 - 我从下拉列表中选择一个值,但什么也没有发生。
了解小部件如何使用的最佳位置可能是角度组件示例。对于材料下拉选择,您可以看到示例here https://github.com/dart-lang/angular_components_example/blob/a982451c2b33e375948dc17eeccd6ff64b11781b/example/material_select_example/lib/material_dropdown_select_demo.html#L157
特别是对于角度中的括号语法 [] ,仅向下传播值,而不是向上传播值。因此,如果您想获取某个值的更新,则需要使用括号 ()。或者特殊语法[()]。
由于这是一个表单,我还建议使用 ControlValueAccessor 自动获取表单中的值:
<form class="form">
//other stuff
<material-dropdown-select [(ngModel)]="selected.type">
<material-select-item *ngFor="let type of types" [selected] = "selected.type == type">
{{type}}
</material-select-item>
</material-dropdown-select>
</form>
你还需要添加DropdownSelectValueAccessor
到您的指令列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)