如何让 `material-dropdown-select` 显示当前模型值
How to get `material-dropdown-select` to show current model value
使用 AngularDart + Angular Components
我需要创建一个下拉列表,其中填充了一小部分项目(让它工作),并自动设置为模型中对象的当前 selection(还没有让这个工作)。
我在名为 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
同步到下拉列表的默认值。我在这里做错了什么?
提前致谢。
编辑
有趣的是,即使在这种状态下,下拉菜单也无法按预期工作 - 我 select 下拉菜单中的一个值,但没有任何反应。
了解小部件如何使用的最佳地点可能是 angular_components_examples。对于 material-dropdown-select 你可以看到例子 here
特别是对于 angular 中的括号语法 [] 只会向下传播值,不会向上传播值。所以如果你想获得一个值的更新,你需要使用括号 ()。或者特殊语法 [()].
由于这是一个表单,我还建议使用 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
添加到您的指令列表中。
使用 AngularDart + Angular Components
我需要创建一个下拉列表,其中填充了一小部分项目(让它工作),并自动设置为模型中对象的当前 selection(还没有让这个工作)。
我在名为 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
同步到下拉列表的默认值。我在这里做错了什么?
提前致谢。
编辑
有趣的是,即使在这种状态下,下拉菜单也无法按预期工作 - 我 select 下拉菜单中的一个值,但没有任何反应。
了解小部件如何使用的最佳地点可能是 angular_components_examples。对于 material-dropdown-select 你可以看到例子 here
特别是对于 angular 中的括号语法 [] 只会向下传播值,不会向上传播值。所以如果你想获得一个值的更新,你需要使用括号 ()。或者特殊语法 [()].
由于这是一个表单,我还建议使用 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
添加到您的指令列表中。