xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

scroll calendar & scroll view

scroll calendar & scroll view

https://taro-docs.jd.com/taro/docs/components/viewContainer/scroll-view.html

https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html


import Taro, { Component, Config } from '@tarojs/taro'

import {
  View,
  Text,
  Image,
  Icon,
  Button,
  Swiper,
  SwiperItem,
  ScrollView,
} from '@tarojs/components'

import './index.scss'

import {
  AtTabs,
  AtTabsPane,
} from 'taro-ui'


const log = console.log;

export default class ScrollViewDemo extends Component {
  constructor() {
    super(...arguments)
  }

  onScrollToUpper() {}
  onScrollToLower() {}

  // or 使用箭头函数
  // onScrollToUpper = () => {}

  onScroll(e){
    // console.log(e.detail)
  }

  render() {
    const scrollStyle = {
      height: '50px',
      width: '100vw',
      overflow: 'auto',
      display: 'flex',
      'flex-wrap': 'nowrap',
      'flex-flow': 'row',
    }
    const scrollTop = 0
    const scrollLeft = 0
    const Threshold = 20
    const vStyleA = {
      height: '50px',
      width: '100px',
      'min-width': '100px',
      display: 'inline-block',
      'background-color': 'rgb(26, 173, 25)'
    }
    const vStyleB = {
       height: '50px',
       width: '100px',
       'min-width': '100px',
       display: 'inline-block',
      'background-color': 'rgb(39,130,215)'
    }
    const views = [...new Uint8Array(10).map((item, i) => (item = i))].map(item => <View style={item % 2 === 0 ? vStyleA : vStyleB}>A{item}</View>);
    return (
      <ScrollView
        className='scrollview'
        scrollX
        // scrollIntoView
        scrollWithAnimation
        scrollLeft={scrollLeft}
        style={scrollStyle}
        lowerThreshold={Threshold}
        upperThreshold={Threshold}
        onScrollToUpper={this.onScrollToUpper.bind(this)} // 使用箭头函数的时候 可以这样写 `onScrollToUpper={this.onScrollToUpper}`
        onScrollToLower={this.onScrollToLower.bind(this)}
        onScroll={this.onScroll}
      >
        {views}
      </ScrollView>
    )
    // return (
    //   <ScrollView
    //     className='scrollview'
    //     scrollY
    //     scrollWithAnimation
    //     scrollTop={scrollTop}
    //     style={scrollStyle}
    //     lowerThreshold={Threshold}
    //     upperThreshold={Threshold}
    //     onScrollToUpper={this.onScrollToUpper.bind(this)} // 使用箭头函数的时候 可以这样写 `onScrollToUpper={this.onScrollToUpper}`
    //     onScroll={this.onScroll}
    //   >
    //     {views}
    //   </ScrollView>
    // )
  }
}



scroll distance

??? update scrollLeft value

offset

alipay

h5

srcElement.offsetLeft


taro 小程序如何获取屏幕宽度

https://nervjs.github.io/taro/docs/apis/device/systeminfo/getSystemInfoSync.html

小程序如何获取屏幕宽度?

https://juejin.im/post/5c7e3298f265da2dbe0306dd

import Taro from '@tarojs/taro'

const res = Taro.getSystemInfoSync()
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
console.log(res.language)
console.log(res.version)
console.log(res.platform)

OK


posted @   xgqfrms  阅读(267)  评论(7编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-04-08 google & google helper & crx
2019-04-08 React Native & Google & Proxy
2019-04-08 macOS & USB stick
2019-04-08 Canvas & SVG
点击右上角即可分享
微信分享提示