angular - 我如何在 ngx-bootstrap/datepicker 中设置选定的日期,当点击一个图标进入一个常见的 html 输入时,它会启动?

标签 angular ngx-bootstrap

我有一个普通的 HTML date input,在它旁边我有一个 font-awesome 图标。此图标具有启动 bsDatePicker 的功能,但是,所选日期不会存储在任何地方。我想知道如何将所选日期转移到输入的日期?

这是 HTML 代码:

//this is the common html input
<input type="date" class="form-control">

//and this is the fa icon that launches the calendar
<em #dp="bsDatepicker" bsDatepicker class="fa fa-search"></em>

如何将所选日期存储在组件的变量中,然后以某种方式使输入用它更新其值?

谢谢!

最佳答案

使用 [(bsValue)]="date" 将 Bootstrap 日期选择器的值绑定(bind)到变量和 [value]="date | date: 'yyyy-MM-dd '" 将日期输入的值绑定(bind)到同一个变量:

<input type="date" class="form-control" [value]="date | date: 'yyyy-MM-dd'">
<em #dp="bsDatepicker" bsDatepicker class="fa fa-search" [(bsValue)]="date"></em>

工作演示:https://stackblitz.com/edit/ngx-bootstrap-datepicker-uqz2hr

请注意,input 使用单向绑定(bind),因此更新输入中的日期不会更改变量的值(您只能使用日期选择器更改它)。如果您还希望保存输入中的更改,则需要添加如下内容:

<input type="date" class="form-control" [value]="date | date: 'yyyy-MM-dd'" 
       (input)="parseDate($event.target.value)">

并在 ts 中:

public parseDate(e) {
  this.date = new Date(e);
}

关于angular - 我如何在 ngx-bootstrap/datepicker 中设置选定的日期,当点击一个图标进入一个常见的 html 输入时,它会启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58159099/

相关文章:

angular - 错误地添加了服务人员。删除了它,但如何将其从现有计算机上删除呢?

angular - RxJS 6 - 取消/结束管道

angular - 资源 URL 上下文中使用的不安全值 Angular 错误

angular - 如何重置为默认值 bsDateRangePicker

angular - 如何让 ngx-bootstrap datepicker 只能选择和显示月份和年份?

javascript - 如何将 112889 (mmddyy) 转换为 11/28/89 或 11/28/1989

angular - ngx-translate 与 ts 文件上的动态文本

angular - ngx-bootstrap 中的自定义选项卡

angular - react 形式的 ngx-bootstrap 日期选择器格式值

angular - ngx-bootstrap ~ 错误类型错误 : undefined is not observable