UNPKG

@tarojs/components

Version:
1 lines 1.65 kB
import{r as t,c as s,h as i,g as e,H as o}from"./p-f05e1558.js";import{d as n}from"./p-5746d7ce.js";let r=class{constructor(i){t(this,i),this.onChange=s(this,"onselect",7),this.onSelectStart=s(this,"onselectstart",7),this.onSelectEnd=s(this,"onselectend",7),this.initialPosition="0",this.paddingVertical=0,this.isInit=!1,this.isMove=!1,this.handleSelected=n((()=>{const t=this.el.childNodes;let s=0,i="0";for(const e in t){const o=t[e].offsetHeight;if(s+o/2>this.el.scrollTop){i=e;break}s+=o}this.el.scrollTo({top:s,behavior:"smooth"}),this.onChange.emit({curIndex:this.col,selectedIndex:i}),this.onSelectEnd.emit()}),500)}onScroll(t){this.isMove||(this.isMove=!0,this.onSelectStart.emit()),this.handleSelected()}onMouseEnd(){this.isMove&&(this.isMove=!1,this.handleSelected())}onTouchEnd(){this.isMove=!1,this.handleSelected()}componentDidUpdate(){if(!this.isInit){this.isInit=!0;const t=this.el.childNodes;let s=0,i=0;for(const e in t){const o=t[e];if(this.initialPosition===e||!o||"number"!=typeof o.offsetHeight)break;i+=o.offsetHeight,s++}this.el.scrollTo({top:i}),s>=t.length&&this.onChange.emit({curIndex:this.col,selectedIndex:s-1})}}render(){const{paddingVertical:t=0}=this;return i(o,{class:"taro-picker-view-column-container",style:{"padding-top":`${t}px`,"padding-bottom":`${t}px`}})}get el(){return e(this)}};r.style=".taro-picker-view-column-container{display:-ms-flexbox;display:flex;overflow:scroll;overflow-x:hidden;position:relative;-ms-flex-direction:column;flex-direction:column;-ms-flex:1;flex:1;text-align:center}.taro-picker-view-column-container::-webkit-scrollbar{display:none}";export{r as taro_picker_view_column_core}