我需要使用下面的 uib-datepicker 选择多个日期,然后在单击外部时关闭它。
<div class="date-multi-select" uib-dropdown is-open="$ctrl.isOpen">
<div class="input-group">
<input type="text"
class="form-control"
placeholder="{{ $ctrl.placeholder }}"
ng-model="$ctrl.value"
ng-required="$ctrl.required"
ng-disabled="$ctrl.disabled"
ng-click="$ctrl.isOpen = true"
ng-blur="$ctrl.toggleOpen($event)"
ng-readonly="true">
<div class="input-group-btn addon-button">
<button type="button" class="btn btn-default" ng-click="$ctrl.toggleOpen($event)">
<i class="far fa-calendar-alt"></i>
</button>
</div>
</div>
<div class="dropdown-menu" uib-dropdown-menu>
<div uib-datepicker
ng-model="$ctrl.dt"
datepicker-options="$ctrl.dateOptions"
multi-select="$ctrl.dates"
template-url="datepicker-multi-select.html"
ng-change="$ctrl.onDateChange()">
</div>
</div>
</div>
由于某种原因,我的控制器不工作(单击时日期选择器关闭)。
self.toggleOpen = function (event) {
if (event.relatedTarget.classList[0] === "btn") {
self.isOpen = true;
} else {
self.isOpen = !self.isOpen;
}
};
如果我在父div
中使用auto-close="disabled"
或auto-close="outsideClick"
,日期选择器将不会关闭。
1条答案
按热度按时间oyxsuwqo1#
控制器:
模板: