【问题标题】:mat-select with checkboxes带复选框的垫选
【发布时间】:2021-05-29 14:44:06
【问题描述】:

我真的想要 mat-select 基本功能,但带有复选框。 如果我打开 [multiple] 我会得到复选框,但我也会得到多选功能,我需要单选和复选框。

【问题讨论】:

    标签: angular-material


    【解决方案1】:

    你可以像这样实现你的要求,

    这是一个例子,

    app.component.html

    <mat-form-field>
        <mat-select placeholder="Toppings">
            <mat-option *ngFor="let topping of toppingList; let i =index" [value]="topping">
                <mat-checkbox [checked]="selected === i" (change)="onChange(topping);selected = i"> {{topping}}</mat-checkbox>
            </mat-option>
        </mat-select>
    </mat-form-field>
    

    app.component.ts

    export class AppComponent {
      toppingList: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage'];
      selected = -1;
    
      /*checkbox change event*/
      onChange(event) {
        console.log(event)
      }
    }
    

    这是Stackblitz演示

    【讨论】:

    • 我对投票感到沮丧,除非我发布赏金,否则没有人回复我的帖子,你恢复了我对该网站的信心!
    • 实际上的问题是,人们对阅读理论问题不感兴趣,这就是为什么不阅读问题他们就开始投反对票,如果你输入一些代码,那么他们可以帮助你。
    • 正如你告诉我的问题,tommarow 我会调查并尝试解决它。​​
    • 感谢您的帮助!!我也想出了最后一招!!我必须使一些元素宽度:100%,然后用内联块覆盖内联弹性,现在选项占据整个长度,复选框和标签仍然保留在左侧。谢谢你的一切!!! :) 我也一定会包含代码
    • @ShawnSpencer - 您可以在 mat-select 标签上使用“多个”属性...这是一个示例 stackblitz.com/edit/angular-g7vtuj-gk81ni?file=app/…
    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2020-02-06
    • 2020-11-10
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    相关资源
    最近更新 更多