angular - 如何在 Angular4/TypeScript 中以编程方式打开 ng-datetime-picker 的选择对话框?

标签 angular typescript

我想以编程方式打开 ng 日期时间 (owl-date-time) 选择器对话框?

date-time-picker - “将选取器作为对话框打开”部分。

html

<mat-select  [(ngModel)]="createAnnounceReq.sendStatus" formControlName="sendStatus" (change)="onChange_Status($event.value)">
    <mat-option *ngFor="let item of sendStatusList; let i = index;" [value]="item.value">
        {{ item.label }}

        //dropdown is like
        - Today (Now)
        - 1week a head
        - 3 months a head
        - pick specific date

    </mat-option>
</mat-select>

<input [owlDateTimeTrigger]="dt5" [owlDateTime]="dt5" readonly>
<owl-date-time [pickerMode]="'dialog'" #dt5></owl-date-time>    

typescript

.....

@Component({
  selector: 'app-announce-send',
  templateUrl: './announce-send.component.html',
  styleUrls: ['./announce-send.component.css'], 
  providers : [AnnourceService]
})
export class AnnounceSendComponent implements OnInit {  
    .....

    onChange_Status(value) {
        if(value == something) {
            // here how to open picker dialog programmatically
        }
    }

    .....   
}

最佳答案

要以编程方式模拟 click 事件,您可以向 input 元素添加标识符,然后在组件内访问它,如下所示:

HTML

<input #target [owlDateTimeTrigger]="dt5" [owlDateTime]="dt5" readonly>

组件

@ViewChild('target') target: ElementRef;

ngAfterViewInit() {
  /* Simulate click event every 5 seconds */
  setInterval(() => this.target.nativeElement.click(), 5000);
}

这是一个以编程方式聚焦input的实例(如果需要,您可以将focus()替换为click()事件): https://stackblitz.com/edit/angular-1xz9zv?file=src%2Fapp%2Fapp.component.ts

关于angular - 如何在 Angular4/TypeScript 中以编程方式打开 ng-datetime-picker 的选择对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51054059/

相关文章:

javascript - 整个应用程序在 prop undefined 错误后停止(需要帮助调试)

javascript - 使用 Angular 访问全局对象

javascript - @ngrx 从数组中返回一个带有 .single 的对象

AngularFire2 - 通过 Observable 删除项目 - 最后一个项目不会从 UI 中删除

javascript - Typedoc 使用 require 语法抛出错误

javascript - 在 HTML 中向 Angular 传递参数时如何引用 JavaScript 包?

javascript - 向循环 firebase 云功能中的所有电子邮件发送电子邮件

authentication - Angular 2 基本身份验证 CORS

twitter-bootstrap - react / typescript : Parameter 'props' implicitly has an 'any' type error

javascript - 重命名对象/接口(interface)类型安全的键