包含以下元件
步進器
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
buttonsOnly | 布林值 | false | 停用步進器按鈕之間的內部值容器 |
colors | 物件 | 具有 Tailwind CSS 顏色類別的物件 | |
colors.activeBgIos | 字串 | 'active:bg-primary' | |
colors.activeBgMaterial | 字串 | '' | |
colors.fillActiveBgIos | 字串 | 'active:bg-ios-primary-shade' | |
colors.fillActiveBgMaterial | 字串 | '' | |
colors.fillBgIos | 字串 | 'bg-primary' | |
colors.fillBgMaterial | 字串 | 'bg-md-light-primary dark:bg-md-dark-primary' | |
colors.fillTextIos | 字串 | 'text-white' | |
colors.fillTextMaterial | 字串 | 'text-md-light-on-primary dark:text-md-dark-on-primary' | |
colors.fillTouchRipple | 字串 | 'touch-ripple-white dark:touch-ripple-primary' | |
colors.outlineBorderIos | 字串 | 'border-primary' | |
colors.outlineBorderMaterial | 字串 | 'border-md-light-outline dark:border-md-dark-outline' | |
colors.textIos | 字串 | 'text-primary' | |
colors.textMaterial | 字串 | 'text-md-light-primary dark:text-md-dark-primary' | |
colors.touchRipple | 字串 | 'touch-ripple-primary' | |
component | 字串 | 'div' | 元件的 HTML 元素 |
input | 布林值 | false | 定義是否應渲染元素 |
inputDisabled | 布林值 | false | 定義步進器輸入是否已停用 |
inputPlaceholder | 字串 | 輸入預留位置 | |
inputReadOnly | 布林值 | false | 定義步進器輸入是否為唯讀 |
inputType | 字串 | 'text' | 輸入類型 |
large | 布林值 | 未定義 | 使步進器變大。覆寫 |
largeIos | 布林值 | false | 在 iOS 主題中使步進器變大 |
largeMaterial | 布林值 | false | 在 Material 主題中使步進器變大 |
outline | 布林值 | 未定義 | 使步進器為外框樣式。覆寫 |
outlineIos | 布林值 | false | 在 iOS 主題中使步進器為外框樣式 |
outlineMaterial | 布林值 | false | 在 Material 主題中使步進器為外框樣式 |
raised | 布林值 | 未定義 | 使步進器凸起(帶陰影)。覆寫 |
raisedIos | 布林值 | false | 在 iOS 主題中使步進器凸起(帶陰影) |
raisedMaterial | 布林值 | false | 在 Material 主題中使步進器凸起(帶陰影) |
rounded | 布林值 | 未定義 | 使步進器變圓。覆寫 |
roundedIos | 布林值 | false | 在 iOS 主題中使步進器變圓 |
roundedMaterial | 布林值 | false | 在 Material 主題中使步進器變圓 |
small | 布林值 | 未定義 | 使步進器變小。覆寫 |
smallIos | 布林值 | false | 在 iOS 主題中使步進器變小 |
smallMaterial | 布林值 | false | 在 Material 主題中使步進器變小 |
touchRipple | 布林值 | true | 在 Material 主題中啟用觸摸漣漪效果 |
value | 數字 | 0 | 步進器值 |
名稱 | 類型 | 描述 |
---|---|---|
blur | 函式(e) | 步進器輸入 |
change | 函式(e) | 步進器輸入 |
focus | 函式(e) | 步進器輸入 |
input | 函式(e) | 步進器輸入 |
minus | 函式(e) | 步進器「減」按鈕點擊處理程式 |
plus | 函式(e) | 步進器「加」按鈕點擊處理程式 |
<template><k-page><k-navbar title="Stepper" /><k-block-title>Shape and size</k-block-title><k-block strong-ios outline-ios class="text-center space-y-4"><div class="grid grid-cols-2 gap-4"><div><div class="block text-xs mb-1">Default</div><k-stepper :value="value" @plus="increase" @minus="decrease" /></div><div><div class="block text-xs mb-1">Round</div><k-stepper:value="value"rounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Outline</div><k-stepper:value="value"outline@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Rounded Outline</div><k-stepper:value="value"outlinerounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Small</div><k-stepper :value="value" small @plus="increase" @minus="decrease" /></div><div><div class="block text-xs mb-1">Small Round</div><k-stepper:value="value"smallrounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Small Outline</div><k-stepper:value="value"smalloutline@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Small Rounded Outline</div><k-stepper:value="value"smallroundedoutline@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Large</div><k-stepper :value="value" large @plus="increase" @minus="decrease" /></div><div><div class="block text-xs mb-1">Large Round</div><k-stepper:value="value"largerounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Large Outline</div><k-stepper:value="value"largeoutline@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Large Rounded Outline</div><k-stepper:value="value"largeroundedoutline@plus="increase"@minus="decrease"/></div></div></k-block><k-block-title>Raised</k-block-title><k-block strong-ios outline-ios class="text-center space-y-4"><div class="grid grid-cols-2 gap-4"><div><div class="block text-xs mb-1">Default</div><k-stepper :value="value" raised @plus="increase" @minus="decrease" /></div><div><div class="block text-xs mb-1">Round</div><k-stepper:value="value"raisedrounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Outline</div><k-stepper:value="value"raisedoutline@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Round Outline</div><k-stepper:value="value"raisedoutlinerounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Small</div><k-stepper:value="value"raisedsmall@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Small Round</div><k-stepper:value="value"raisedsmallrounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Small Outline</div><k-stepper:value="value"raisedsmalloutline@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Small Rounded Outline</div><k-stepper:value="value"raisedsmallroundedoutline@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Large</div><k-stepper:value="value"raisedlarge@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Large Round</div><k-stepper:value="value"raisedlargerounded@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4 margin-top"><div><div class="block text-xs mb-1">Large Outline</div><k-stepper:value="value"raisedlargeoutline@plus="increase"@minus="decrease"/></div><div><div class="block text-xs mb-1">Large Rounded Outline</div><k-stepper:value="value"raisedlargeroundedoutline@plus="increase"@minus="decrease"/></div></div></k-block><k-block-title>With Text Input</k-block-title><k-block strong-ios outline-ios class="text-center space-y-4"><div><k-stepper:value="inputValue"input@input="onInputInput"@blur="onInputBlur"@plus="increaseInput"@minus="decreaseInput"/></div><div><k-stepper:value="inputValue"outlineinput@input="onInputInput"@blur="onInputBlur"@plus="increaseInput"@minus="decreaseInput"/></div></k-block><k-block-title>Only Buttons</k-block-title><k-list strong-ios outline-ios><k-list-item :title=="`Value is ${value}`"><template #after><k-stepper:value="value"buttons-only@plus="increase"@minus="decrease"/></template></k-list-item><k-list-item :title=="`Value is ${value}`"><template #after><k-stepper:value="value"outlinebuttons-only@plus="increase"@minus="decrease"/></template></k-list-item><k-list-item :title=="`Value is ${value}`"><template #after><k-stepper:value="value"raisedoutlinebuttons-only@plus="increase"@minus="decrease"/></template></k-list-item></k-list><k-block-title>Colors</k-block-title><k-block strong-ios outline-ios class="text-center space-y-4"><div class="grid grid-cols-2 gap-4"><div><k-stepper:value="value"class="k-color-brand-red"@plus="increase"@minus="decrease"/></div><div><k-stepper:value="value"roundedclass="k-color-brand-green"@plus="increase"@minus="decrease"/></div></div><div class="grid grid-cols-2 gap-4"><div><k-stepper:value="value"class="k-color-brand-yellow"@plus="increase"@minus="decrease"/></div><div><k-stepper:value="value"roundedclass="k-color-brand-purple"@plus="increase"@minus="decrease"/></div></div></k-block></k-page></template><script>import {kPage,kNavbar,kNavbarBackLink,kStepper,kBlock,kBlockTitle,kList,kListItem,} from 'konsta/vue';import { ref } from 'vue';export default {components: {kPage,kNavbar,kNavbarBackLink,kStepper,kBlock,kBlockTitle,kList,kListItem,},setup() {const value = ref(1);const increase = () => {value.value += 1;};const decrease = () => {value.value = value.value - 1 < 0 ? 0 : value.value - 1;};const inputValue = ref(1);const increaseInput = () => {const v = parseInt(inputValue.value, 10);if (isNaN(v)) inputValue.value = 0;else inputValue.value = v + 1;};const decreaseInput = () => {const v = parseInt(inputValue, 10);if (isNaN(v)) inputValue.value = 0;inputValue.value = v - 1 < 0 ? 0 : v - 1;};const onInputInput = (e) => {inputValue.value = parseInt(e.target.value, 10);};const onInputBlur = () => {if (isNaN(parseInt(inputValue.value, 10))) inputValue.value = 0;};return {value,increase,decrease,inputValue,increaseInput,decreaseInput,onInputInput,onInputBlur,};},};</script>