7

Tôi muốn ẩn nút chỉ rõ ràng từ chỉ thị datepicker trong js góc. Hiện tại có ba nút ở dưới cùng của angs js datePicker directive (Hôm nay, rõ ràng và Close), Có cách nào để làm cho khả năng hiển thị của các nút cấu hình, như vậy mà tôi có thể ẩn một trong các nút ra khỏi nó.chỉ ẩn nút rõ ràng trong angular jp datepicker directive

Bộ chọn ngày mà tôi đang sử dụng đang sử dụng thư viện ui-bootstrap.

+0

bạn có thể cho chúng tôi một số ảnh chụp màn hình có lẽ? Ngoài ra, bạn đã thử những gì? –

+0

nếu bạn có thể cung cấp bản trình diễn về trường hợp của mình, hãy nói sandbox plnkr.co có thể giúp khán giả dễ dàng giúp bạn – shershen

+0

Tôi đồng ý với câu trả lời để thực hiện việc này thông qua css. Không có giải pháp thay thế nhanh khác hoặc các tùy chọn sẵn có để xóa nút này. Vì vậy, một trong hai cách nhanh chóng và dễ dàng (css) hoặc cách phức tạp hơn bằng cách sửa đổi tệp mẫu không phải lúc nào cũng có thể cho các ứng dụng doanh nghiệp hoặc các ứng dụng sử dụng bower. – geostima

Trả lời

4

Hiện tại, hiện có cách để ẩn các nút riêng lẻ trong thanh nút datepicker thông qua các tùy chọn trên chỉ thị. Bạn có thể ghi đè lên mẫu và loại bỏ nút rõ ràng, nhưng đó là một bản vá toàn cầu và không cung cấp ẩn/hiển thị dựa trên một điều kiện. Bạn có thể tạo một lớp nhắm mục tiêu đến nút bạn muốn ẩn vì đây là plunk

.datepicker-noclear [ng-click="select(null)"] { 
     display: none; 
    } 

chứng minh mặc dù đó là giải pháp dễ vỡ.

Tôi khuyên bạn nên gửi yêu cầu tính năng để thêm tùy chọn trong số các nút có sẵn trong thanh nút.

0

Thêm vào giải pháp của Rob J, nếu chúng ta thêm ng-class = {"require": "vm.required"} vào div cha của đầu vào datepicker hoặc chỉ cần thêm một lớp được gọi là div. Sau đó sử dụng sự kỳ diệu css để ẩn hoặc hiển thị các nút rõ ràng tùy thuộc vào giá trị của vm.required:

.require button[ng-click^="select(null)"] { 
    display: none; 
} 
3

dễ dàng, thay thế các mẫu:

<script type="text/ng-template" id="template/datepicker/popup.html"> 
    <ul class="dropdown-menu" ng-if="isOpen" style="display: block" ng-style="{top: position.top+'px', left: position.left+'px'}" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()"> 
     <li ng-transclude></li> 
     <li ng-if="showButtonBar" style="padding:10px 9px 2px"> 
      <span class="btn-group pull-left"> 
      <button type="button" class="btn btn-sm btn-info" ng-click="select('today')" ng-disabled="isDisabled('today')">{{ getText('current') }}</button> 
      </span> 
      <button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText('close') }}</button> 
     </li> 
    </ul> 
</script> 
3

Bạn Hack với css. Nó làm việc cho tôi.

.ui-datepicker .btn-group .btn-danger.btn{ 
    display: none; 
} 
0

nếu bạn muốn loại bỏ các nút rõ ràng, nó có nghĩa là lĩnh vực này là cần thiết, và như tôi không đồng ý với buộc vật (như tạo một div cha mẹ và gõ các lớp học), sau đó chỉ cần thiết lập các yếu tố cho mà bạn tích cực datepicker theo yêu cầu

[uib-datepicker-popup][required] + [uib-datepicker-popup-wrap] button[ng-click*="select(null"] { 
 
    display: none; 
 
}
<input type="text" ng-model="datePicker.date" uib-datepicker-popup="dd MMM yyyy" readonly is-open="datePicker.opened" ng-click="datePicker.opened = true" required />

+0

Tôi không hiểu ý bạn là gì khi trường được yêu cầu khi nút xóa chỉ đơn giản là xóa? Tôi đã sử dụng datepickers trên nhiều ứng dụng và tôi đã loại bỏ các nút rõ ràng trên một số, tất cả các nút trên những người khác, vv, và không bao giờ - một lần - đã làm bất cứ điều gì để làm với nó là một lĩnh vực cần thiết ... Xin lỗi nếu tôi có vẻ thô lỗ nhưng tôi không nghĩ rằng bài đăng của bạn trả lời câu hỏi và hoàn toàn không liên quan. – geostima

Các vấn đề liên quan