国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

angular基于ng-alain定義自己的select組件示例

2024-05-06 15:21:33
字體:
供稿:網(wǎng)友

1、首先是my-select2.component.html頁面,這里是在ng-alain的select基礎(chǔ)上根據(jù)業(yè)務(wù)需求添加新的功能;代碼如下:

<nz-select #select style="width:100%;" [(ngModel)]="selectedOption" [nzPlaceHolder]="myPlaceHolder" nzAllowClear [nzShowSearch]="true" [nzNotFoundContent]="'無匹配'">  <nz-option    *ngFor="let option of options"    [nzLabel]="option.label"    [nzValue]="option"    [nzDisabled]="option.disabled">  </nz-option></nz-select>

2、再者是my-select2.component.ts頁面,代碼里面有注釋;代碼如下:

import { ControlValueAccessor } from '@angular/forms/src/directives';import { Component, forwardRef, Input,OnInit,ElementRef,Output,EventEmitter} from '@angular/core';import { NG_VALUE_ACCESSOR } from '@angular/forms';import { Router, NavigationEnd } from '@angular/router';import { FormGroup, FormBuilder, Validators } from '@angular/forms';import { SelectService } from './my-select2.service';declare var $: any;@Component({ selector: 'nz-select2', templateUrl: './my-select2.component.html', providers: [      {      provide: NG_VALUE_ACCESSOR,      useExisting: forwardRef(() => NzSelect2Component),//注入表單控件      multi: true     }]})export class NzSelect2Component implements OnInit{  constructor(private selectService:SelectService) {   } innerValue: any = '';  //監(jiān)聽綁定的值,與外岑的ngModel相互綁定 set selectedOption(val:any){   if (val !== this.innerValue) {      this.innerValue = val;      this.onChangeCallback(val.value);      this.dataBack.emit(val.value); // 事件    } } get selectedOption():any{    return this.innerValue; } options = [];//接收select的數(shù)組  _dataSource:any;//接收本地的自定義數(shù)組或者請求返回的數(shù)組 @Input() url:any;//請求的url @Input() myPlaceHolder:any;//自定義的PlaceHolder @Input() //下拉框的數(shù)據(jù)格式  fieldKey:any = {    text: 'text',     value: 'value'  }; @Input()  set dataSource(val: any) {    this._dataSource = val;    if ($.isArray(this._dataSource)) {       this.options=this._dataTransform(this._dataSource);//如果是本地數(shù)組或直接請求的數(shù)組直接復(fù)制    }  }  get dataSource(): any {    return this._dataSource;  } @Output() dataBack = new EventEmitter<any>(); registerOnChange(fn: (value: any) => void) {    this.onChangeCallback = fn; } registerOnTouched(fn: any) {   this.onTouchedCallback = fn; }  writeValue(value: string) {  } onChangeCallback = (value: any) => {}; onTouchedCallback = (value: any) => {}; ngOnInit() {     //如果url存在則直接請求    if(this.url){      this.selectService.getValue(this.url).subscribe(data => {         data = data.rows || data.data;            this.options=this._dataTransform(data);      });    }    } //轉(zhuǎn)換下拉框下的字段  _dataTransform(data: Array<any>){    let _data = [];    for (let i = 0; i < data.length; i++) {     _data[i] = {};     _data[i].label = data[i][this.fieldKey.text];     _data[i].value = data[i][this.fieldKey.value];    }    return _data; }}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 房山区| 新民市| 惠来县| 沛县| 东乡族自治县| 利辛县| 罗平县| 大厂| 罗平县| 兰溪市| 孙吴县| 香河县| 岗巴县| 文登市| 涟水县| 双流县| 博乐市| 义乌市| 文成县| 确山县| 普兰店市| 运城市| 西丰县| 东辽县| 徐州市| 广河县| 安图县| 营山县| 武穴市| 诸城市| 浙江省| 扶绥县| 敦化市| 无极县| 临清市| 九龙坡区| 康平县| 黔东| 昌平区| 靖远县| 仲巴县|