Angular2 select用法-设置默认值和事件

设置默认值:
现在有三个学生小明,小红,小黑,对双向绑定的student设置你想要的select值就可以在下拉框默认选中
code1:
设置”请选择”为默认项,只需要把变量student设置为‘’,即可默认到“请选择”
方案1:

TS:
students:string[]=['xiaoming','xiaohong','xiaohei'];
student:string='';

HTML:
  <select [(ngModel)]="student">
        <option value="">请选择</option> //此处用的是value,而不是[value]
        <option *ngFor="let item of students" [value]='item'>{{item}}</option>  
    </select>

方案2:

TS:
students:string[]=['','xiaoming','xiaohong','xiaohei'];
student:string='';

HTML:
<select [(ngModel)]="student">
  <option *ngFor="let item of students" [value]='item'>{{item || '请选择'}}</option>  
</select>

code2:
当需要设置默认值到xiaoming时,只需要将变量student的初始值设为“xiaoming”

TS:
students:string[]=['xiaoming','xiaohong','xiaohei'];
student:string='xiaoming';

HTML:
    <select [(ngModel)]="student">
        <option *ngFor="let item of students" [value]='item'>{{item}}</option>  
    </select>

绑定事件
select下拉框主要通过ngModel和ngModelChange实现选择事件
如果你想要在select下拉框选中某一项时触发事件,可以将[(ngModel)]拆成ngModel和ngModelChange来实现

TS:
students:string[]=['xiaoming','xiaohong','xiaohei'];
student:string='';
info:string='';
setInfo(){
    this.info=student;
}

HTML:
<select [ngModel]="student" (ngModelChange)="student=$event;setInfo()">
    <option value="">请选择</option>
    <option *ngFor="let item of students" [value]='item'>{{item}}</option>  
</select>
{{info}}

在属性绑定中,一个值从模型中传到屏幕上的目标属性。 我们通过把名字括在方括号中来标记出目标属性, [] 。 这是一个 从模型到视图 的单向数据绑定。

在事件绑定中,值从屏幕上的目标属性传到模型中。 我们通过把名字括在圆括号中来标记出目标属性, () 。 这是一个 从视图到模型 的反向单向数据绑定。

在Angular2中[(x)] 的绑定目标时,会以x和xChange表示他的输入和输出属性。

代码中student=$event 原理如下ngModelChange是一个 Angular EventEmitter 类型的属性,当它触发时,它返回的是输入框的值

点击观看更多关于ngModel的知识

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值