Angular 多 select 下拉菜单
Angular multi select dropdown
我想使用 bootstrap 在 angular 中设计一个多 select 下拉功能 4. 以下是下图。
以下是我目前的实现。
<div class="form-group">
<label>Employee privilege</label>
<select id="employeePrivelege" data-style="btn-default"
class="selectpicker form-control"
formControlName="employeePriveleges"
multiple data-max-options="2">
<option selected>Mustard</option>
<option selected>Barbecue</option>
</select>
</div>
我有两个问题
- 如果我在
option
上添加 selected
属性,则不会 select 编辑元素
我知道这是因为我不使用 jQuery 并且我不想添加 JQuery 因为这在 Angular 中不推荐。
我的问题是
- 在 Angular 中使用或不使用 bootstrap 4
实现多下拉列表 UI 组件的最简单选项是什么
如果您正在使用 material 设计,那么这会对您有所帮助。
定义表单控件并在其中放置要显示的值
然后像这样定义下拉列表
<mat-select placeholder="Select Units" formControlName="unit">
<mat-option *ngFor="let unit ofUnit" [value]="unit.slug">
{{unit.unit_name}}
</mat-option>
</mat-select>
此代码笔有一个 Bootstrap 4 multiselect 与您所展示的非常相似。 link。当我将 select 添加到第一个时,例如:
<select class="custom-select" id="basic" multiple="multiple">
<option value="cheese" selected>Cheese</option>
<option value="tomatoes">Tomatoes</option>
<option value="mozarella">Mozzarella</option>
<option value="mushrooms">Mushrooms</option>
<option value="pepperoni">Pepperoni</option>
<option value="onions">Onions</option>
</select>
它按预期工作。
我试过你的代码,但 selected 属性对我来说工作正常。
我在 w3schools 创建了一个片段,表明它有效:link to snippet
看起来它没有被选中,因为选中的选项是灰色的,因为控件处于非活动状态。如果您添加另一个未选中的选项,您可以看到差异。我创建了另一个片段 here.
我的简化代码如下所示:
<select name="Sauces" multiple>
<option value="Mustard">Mustard</option>
<option selected value="Barbecue">Barbecue</option>
<option value="Ketchup">Ketchup</option>
<option selected value="Mayonaise">Mayonaise</option>
</select>
我还发现了一个非常有用的 Angular 组件:
https://www.npmjs.com/package/ng-multiselect-dropdown
我创建了一个 stackblitz,用您的数据演示该组件 here
我希望这对你有进一步的帮助。
我想使用 bootstrap 在 angular 中设计一个多 select 下拉功能 4. 以下是下图。
以下是我目前的实现。
<div class="form-group">
<label>Employee privilege</label>
<select id="employeePrivelege" data-style="btn-default"
class="selectpicker form-control"
formControlName="employeePriveleges"
multiple data-max-options="2">
<option selected>Mustard</option>
<option selected>Barbecue</option>
</select>
</div>
我有两个问题
- 如果我在
option
上添加
selected
属性,则不会 select 编辑元素
我知道这是因为我不使用 jQuery 并且我不想添加 JQuery 因为这在 Angular 中不推荐。
我的问题是
- 在 Angular 中使用或不使用 bootstrap 4 实现多下拉列表 UI 组件的最简单选项是什么
如果您正在使用 material 设计,那么这会对您有所帮助。 定义表单控件并在其中放置要显示的值 然后像这样定义下拉列表
<mat-select placeholder="Select Units" formControlName="unit">
<mat-option *ngFor="let unit ofUnit" [value]="unit.slug">
{{unit.unit_name}}
</mat-option>
</mat-select>
此代码笔有一个 Bootstrap 4 multiselect 与您所展示的非常相似。 link。当我将 select 添加到第一个时,例如:
<select class="custom-select" id="basic" multiple="multiple">
<option value="cheese" selected>Cheese</option>
<option value="tomatoes">Tomatoes</option>
<option value="mozarella">Mozzarella</option>
<option value="mushrooms">Mushrooms</option>
<option value="pepperoni">Pepperoni</option>
<option value="onions">Onions</option>
</select>
它按预期工作。
我试过你的代码,但 selected 属性对我来说工作正常。
我在 w3schools 创建了一个片段,表明它有效:link to snippet
看起来它没有被选中,因为选中的选项是灰色的,因为控件处于非活动状态。如果您添加另一个未选中的选项,您可以看到差异。我创建了另一个片段 here.
我的简化代码如下所示:
<select name="Sauces" multiple>
<option value="Mustard">Mustard</option>
<option selected value="Barbecue">Barbecue</option>
<option value="Ketchup">Ketchup</option>
<option selected value="Mayonaise">Mayonaise</option>
</select>
我还发现了一个非常有用的 Angular 组件:
https://www.npmjs.com/package/ng-multiselect-dropdown
我创建了一个 stackblitz,用您的数据演示该组件 here
我希望这对你有进一步的帮助。