首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在angular6中设置ng-select中的默认值?

如何在angular6中设置ng-select中的默认值?
EN

Stack Overflow用户
提问于 2019-02-21 06:52:29
回答 4查看 56.8K关注 0票数 18

我使用的是angular6 multi-select,它有一个来自ngOnInit上的角服务的对象数组中的项列表,它正在传递到multi-select中:

代码语言:javascript
复制
this.sensorTypes = [
  { label : "Power", value : "P"},
  { label : "Current", value : "C"},
  { label : "Voltage", value : "V"}
]

在默认情况下,我希望在表单加载时在multi-select中设置2个值。为此,我将ngModel绑定到multi-select上,并在该变量中设置ngOnInit的值,如下所示

代码语言:javascript
复制
this.selectedAttributes = [
  {label : "Current", value : "C"},
  {label : "Voltage", value : "V"}
]

在我的component.html中,我创建了这样的multi-select

代码语言:javascript
复制
<div class="form-group row">
  <div class="col-sm-10">
    <ng-select 
       [ngClass]="'ng-select'" 
       [(ngModel)]="selectedAttributes" 
       [ngModelOptions]="{standalone: true}" 
       [options]="sensorTypes"
       [multiple]="true">
    </ng-select>
  </div>
</div>

但是,在多选择中,默认情况下值并不是设置的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-02-21 06:56:26

您应该使用[items]输入绑定而不是[options]

代码语言:javascript
复制
<ng-select 
  [items]="sensorTypes"
  bindLabel="label"                 
  [multiple]="true"
  placeholder="Select"
  [(ngModel)]="selectedAttributes">
</ng-select>

在组件的module.ts上,导入NgSelectModule。如果您还没有导入您的FormsModule,您应该这样做,因为它需要导入才能与ngModel进行双向绑定才能工作。

代码语言:javascript
复制
import { NgSelectModule } from '@ng-select/ng-select';
import { FormsModule } from '@angular/forms';
.
.
@NgModule({
  imports: [
    FormsModule,
    NgSelectModule,
. 
.
.
票数 9
EN

Stack Overflow用户

发布于 2019-02-21 07:18:12

值在多选择中默认不设置。

为此,请将this.sensorTypes[0]分配给ngModel of your ng-select in ngOnInit()

代码语言:javascript
复制
    ngOnInit() {
      this.selectedAttributes = this.sensorTypes[0]
    }

这将获得第一个属性作为默认属性。

票数 3
EN

Stack Overflow用户

发布于 2020-02-25 12:13:40

如果同时使用bindlabel和bindvalue,那么首先查找所选值t的索引。

代码语言:javascript
复制
var index= this.sensorTypes.findIndex(x => x.ID ==something); 
//this will set value
this.selectedAttributes= this.sensorTypes[index].ID;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54800920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档