iView官方組件展示效果:
期望的最終效果:
為什么要修改期望效果?
項目需要只選擇小時,分鍾跟秒的不需要,而官方並沒有直接相關的小時組件或者是設置顯示成小時或分鍾或秒的時間選擇器,因為自己直接修改樣式。
原生js 代碼,如下:
1 <script> 2 window.onload = function() { 3 4 // change text of the panel left 5 document.querySelector('.ivu-picker-panel-content-left .ivu-time-picker-header').innerText="開始小時"; 6 // change text of the panel right 7 document.querySelector('.ivu-picker-panel-content-right .ivu-time-picker-header').innerText="結束小時"; 8 // get start and end time list 9 var list = document.querySelectorAll('.ivu-time-picker-cells-list') 10 list.forEach(function(item, index) { 11 // hour of item change width, others set zero 12 if (index === 0 || index === 3) { 13 item.style.width = '166px'; 14 // ul li change width 15 let lis = item.querySelectorAll('.ivu-time-picker-cells-list ul li'); 16 17 lis.forEach(function(li){ 18 li.style.textAlign = "center"; 19 li.style.paddingLeft = '0px'; 20 }) 21 22 } else { 23 item.style.width = '0px'; 24 } 25 26 }) 27 } 28 </script>
此外,我是事先對分,秒列的設置了不可用,跟隱藏效果,
可以使用 disabled-hours
disabled-minutes
disabled-seconds
組合禁止用戶選擇某個時間。
使用 hide-disabled-options
可以直接把不可選擇的項隱藏。
官方示例: