У меня есть одно текстовое поле, когда введите @ , получите usersList
, когда введите # , получите tagsList
, а когда введите @@ открыть средство выбора даты, которое я использую ngx- bootstrap datepicker.
-Я пытался добавить динамически bsDatepicker
оно успешно добавлено, но диалоговое окно DatePicker не получилось. Я думаю, что он не зарегистрирован в DOM идеально.
HTML
<div *ngIf="addCard" class="mx-2">
<input type="text" class="form-control" (keyup)="getVal()" id="input_2" [formControl]="cardName" >
<ng-container *ngIf="drpBind">
<div class="searchresults" *ngFor="let i of lstbindData; let index = index" (click)="selectVal(i)">{{i}}
</div>
</ng-container>
</div>
TS
lstbindData: any = [];
addCard: boolean = false;
drpBind: boolean = false;
getDatePicker: boolean = false;
cardName = new FormControl();
getVal() {
const val = this.cardName.value;
console.log('val', val);
const value = val == '@' ? 1 : val == '#' ? 2 : val == '@@' ? 3 : 4;
if (value == 1) {
this.drpBind = true;
this.lstbindData = this._cS.getAtkeywords();
}
else if (value == 2) {
this.drpBind = true;
this.lstbindData = this._cS.getHaskeywords();
}
else if (value == 3) {
this.drpBind = false;
var getEle1 = document.getElementById('input_2');
getEle1.setAttribute('bsDatepicker', ''); //I'm trying to setAttribute it added successfully but datepicker it not getting.
}
else {
this.drpBind = false;
}
}
У кого-нибудь есть идея, пожалуйста, поделитесь ею.
Спасибо.