【问题标题】:Is setting a multiple mat-select dropdown value to objects possible?是否可以为对象设置多个 mat-select 下拉值?
【发布时间】:2020-12-23 22:23:40
【问题描述】:

在多模式下使用mat-select,如果选择选项中的值是对象,是否可以预先设置选择的值?

例如如果select中的选项如下

toppingList: any[] = [
  { id: 1, description: 'Extra cheese' },
  { id: 2, description: 'Mushroom' },
  { id: 3, description: 'Onion' },
  { id: 4, description: 'Pepperoni' },
  { id: 5, description: 'Sausage' },
  { id: 6, description: 'Tomato' }
];

那么你可以预先设置那个 mat-select 的选定值吗?

this.toppings.setValue([{ id: 1, description: 'Extra Cheese' }]);

通过stackblitz as an example,您会看到表单值已按需要设置,但下拉菜单中的选择按钮本身并未显示为选中状态。

这可能吗,还是我做错了什么?

【问题讨论】:

    标签: angular-material multiple-select multipleselection


    【解决方案1】:

    我知道两个对象的相等性,例如在 java 中,您需要编写相等 / 哈希码来检测哪个对象等于另一个对象。

    您将选择值绑定到对象并且打字稿无法理解将对象比较在一起的内容。所以我将您的示例和选项的绑定值更改为 id 并且它有效!

    看到这个stackblits

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 2019-07-05
      • 2011-03-03
      • 1970-01-01
      • 2021-11-13
      • 2019-03-23
      • 2012-05-11
      • 2020-11-25
      • 2018-07-25
      相关资源
      最近更新 更多