获取选择选项属性值反应形式

时间:2018-10-16 08:44:05

标签: angular

嗨,我使用Angular 6反应堆。

这是选择控件

<select _ngcontent-c2="" class="floating-select ng-untouched ng-pristine ng-invalid" formcontrolname="user" value="" ng-reflect-name="user">
   <option _ngcontent-c2="" value="adduser" ng-reflect-value="adduser">--Add User--</option>
   <!--bindings={
      "ng-reflect-ng-for-of": "[object Object],[object Object"
      }-->
   <option _ngcontent-c2="" value="1: gokulanathan.s" ng-reflect-ng-value="gokulanathan.s" usrstatus="ACTIVE">gokulanathan.s</option>
   <option _ngcontent-c2="" value="2: subin.abraham.ext" ng-reflect-ng-value="subin.abraham.ext" usrstatus="ACTIVE">subin.abraham.ext</option>
   <option _ngcontent-c2="" value="3: subin.abraham.ext" ng-reflect-ng-value="subin.abraham.ext" usrstatus="INACTIVE">subin.abraham.ext</option>
   <option _ngcontent-c2="" value="4: manoj.g.ext" ng-reflect-ng-value="manoj.g.ext" usrstatus="ACTIVE">manoj.g.ext</option>
   <option _ngcontent-c2="" value="5: rajesh.augustine" ng-reflect-ng-value="rajesh.augustine" usrstatus="ACTIVE">rajesh.augustine</option>
</select>

是否可以通过formcontrol获取“ usrstatus”属性值

这是我的formBuilder代码

  this.form = this.formBuilder.group({
      clientid: ['', Validators.required],
      user: ['', Validators.required],
      username: ['', Validators.required],
      status: ['', Validators.required]       
  });

我正在寻找类似的东西...“ this.form.controls [” user“]。usrstatus”。请帮助。

2 个答案:

答案 0 :(得分:1)

我不确定this.form.controls["user"].usrstatus,并且我认为不可能获得这样的属性值(如果我错了,请纠正我) 但您可以在选择上添加更改事件

<select _ngcontent-c2="" class="floating-select ng-untouched ng-pristine ng-invalid"
formcontrolname="user" value="" ng-reflect-name="user" (change)="getAttributeValue($event)">

以及您的组件

getAttributeValue(event) {
    const selectEl = event.target;
    const attrVal = selectEl.options[selectEl.selectedIndex].getAttribute('usrstatus');
    console.log(attrVal)
}

答案 1 :(得分:0)

我不确定,但是我认为不可能从这样的选择选项中获得第二个值。

首先,请将formcontrolname更改为formControlName。

比您的选项值集中 value ='{“ user”:“ 1:gokulanathan.s”,“ status”:“ ACTIVE”}'

您可以创建新的类或接口来接收这两个值,也可以使用JSON.parse方法并按如下方式访问您的值:

JSON.parse(this.form.get(“ user”)。value).user;

JSON.parse(this.form.get(“ user”)。value).status;

您可以在此处阅读有关formControlName的更多信息: https://angular.io/api/forms/FormControlName