Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎样才能像ios一样在angular中制作时间选择器?_Angular_User Interface_Datetimepicker_Timepicker - Fatal编程技术网

我怎样才能像ios一样在angular中制作时间选择器?

我怎样才能像ios一样在angular中制作时间选择器?,angular,user-interface,datetimepicker,timepicker,Angular,User Interface,Datetimepicker,Timepicker,我必须在angular中实现一个时间选择器,其格式或外观与ios在angular中的格式或外观相同,我不知道从哪里开始 例如: 或者类似于: 如何识别5个出现在中间的数字? 您可以根据窗口:滚动事件计算当前位置,如下所示: @HostListener("window:scroll", ['$event']) handleHHScroll(event) { this.hhValue = this.getValueByPosition(event.target.s

我必须在angular中实现一个时间选择器,其格式或外观与ios在angular中的格式或外观相同,我不知道从哪里开始

例如:

或者类似于:

如何识别5个出现在中间的数字?

您可以根据
窗口:滚动
事件计算当前位置,如下所示:

  @HostListener("window:scroll", ['$event'])
  handleHHScroll(event) {
    this.hhValue = this.getValueByPosition(event.target.scrollTop, 'hh');
    this.hhScroll$.next(this.hhValue);
  }

  getValueByPosition(y, type) {
    let arr = type === 'hh' ? this.hhArray : this.mmArray;
    let index = Math.floor((y+17)/33);
    if(index < 0) index = 0;
    if(index >= arr.length) index = arr.length -1;
    return arr[index];
  }
@HostListener(“窗口:滚动,['$event']))
handleHHScroll(事件){
this.hhValue=this.getValueByPosition(event.target.scrollTop,'hh');
this.hhsroll$.next(this.hhValue);
}
getValueByPosition(y,类型){
让arr=type=='hh'?this.hhArray:this.mmArray;
let指数=数学楼层((y+17)/33);
如果(指数<0)指数=0;
如果(索引>=arr.length)索引=arr.length-1;
返回arr[索引];
}
基于当前位置,您可以计算前后部分,并在UI上渲染它


上已经有了一个实现,看看是否有帮助。

你能分享一下你已经尝试过的内容以及失败的原因吗?我所做的是创建一个带有溢出的div,其中有几个表示数字的标记,比如24个数字,只有5个显示在同一时间,因为溢出,并看到其他人,我向上或向下滚动,这是问题,如何识别的5个,是目前在中间的号码。我希望我已经回答了你的问题。谢谢你,这对我帮助很大!