如何让“material-dropdown-select”显示当前模型值

2024-05-16

使用 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(使用前将#替换为@)

如何让“material-dropdown-select”显示当前模型值 的相关文章

随机推荐