A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/hiyali/vue-smooth-picker below:

hiyali/vue-smooth-picker: 🏄🏼 A SmoothPicker for Vue 3 (like native datetime picker of iOS)

vue-smooth-picker

🏄🏼 A smooth picker component for Vue 3.

Let's simplify selecting data on the touchscreen device, such as time, city, gender, seat number, product, etc.

npm i -S vue-smooth-picker
<template>
  <smooth-picker :data="pickerData" @onChange="handleChange" />
</template>

<script setup>
import { ref } from 'vue'
import { SmoothPicker } from 'vue-smooth-picker'
import 'vue-smooth-picker/style.css'

const pickerData = ref([
  {
    list: Array.from({ length: 24 }, (_, i) => ({ value: i.toString().padStart(2, '0') })),
    currentIndex: 0
  },
  {
    list: Array.from({ length: 60 }, (_, i) => ({ value: i.toString().padStart(2, '0') })),
    currentIndex: 0
  }
])

const handleChange = (groupIndex, itemIndex) => {
  console.log('Changed:', { groupIndex, itemIndex })
}
</script>
interface Props {
  data: PickerGroup[]
  onChange?: (groupIndex: number, itemIndex: number) => void
}

interface PickerGroup {
  list?: PickerItem[] // List of items in this group
  divider?: boolean // Indicates if this is a divider, default is false
  text?: string // Text used when divider is true
  flex?: number // Weight of the group in the parent container, range from 1 to 12
  className?: string // Custom class name
  textAlign?: string // Text alignment for items, can be 'left', 'center', or 'right'
  currentIndex?: number // Current index of the selected item, default is 0
  onClick?: (groupIndex: number, itemIndex: number) => void // Click event handler
}

interface PickerItem {
  value: string | number // The value of the item, can be a string or a number
  [key: string]: any // Other optional properties
}
Name Type Description setGroupData (groupIndex: number, groupData: PickerGroup) => void Dynamically updates the data for a specific group, allowing for real-time changes to the picker. getCurrentIndexList () => number[] Returns an array of the current index for each group, reflecting the selected items. getGroupsRectList () => void Updates the dimensions of the groups, which is useful for gesture handling. Call this method when the component's visibility changes. Vue 2 version (No longer maintained)

Looking for Vue 2 version? Check out vue-smooth-picker for Vue 2

MIT


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4