简体中文
组件类型:UniSliderElement
滑动选择器
Web | Android | iOS |
---|---|---|
4.0 | 3.9 | 4.11 |
名称 | 类型 | 默认值 | 兼容性 | 描述 |
---|---|---|---|---|
name | string | - | 表单的控件名称,作为键值对的一部分与表单(form组件)一同提交 | |
disabled | boolean | - | 是否禁用 | |
min | number | 0 | slider 最小值 | |
max | number | 100 | slider 最大值 | |
step | number | 1 | slider 步长,取值必须大于 0,并且可被(max - min)整除 | |
value | number | 0 | radio当前取值 | |
activeBackgroundColor | string(string.ColorString) | "#007aff" | slider 滑块左侧已选择部分的线条颜色 | |
backgroundColor | string(string.ColorString) | "#e9e9e9" | radio背景条的颜色 | |
block-size | number | 28 | radio滑块的大小,取值范围为 12 - 28 | |
foreColor | string(string.ColorString) | - | slider 的滑块背景颜色 | |
show-value | boolean | false | 是否显示当前 value | |
@change | (event: UniSliderChangeEvent) => void | - | 完成一次拖动后触发的事件,event.detail = {value: value} | |
@changing | (event: UniSliderChangeEvent) => void | - | 拖动过程中触发的事件,event.detail = {value: value} | |
string(string.ColorString) | "#ffffff" | 滑块颜色 (使用foreColor替代) | ||
string(string.ColorString) | "#007aff" | slider 滑块左侧已选择部分的线条颜色 |
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
---|---|---|---|---|---|
value | number | 是 | - | - | - |
show-value属性设为true后,会在横条右侧显示一个数字。
但注意app-uvue中,value显示区的默认宽度是4位数字。超出宽度后,后面的数字无法显示。即最大9999。(其他平台不限制)
如您需要5位或更多数字,请将show-value设为false或不设,自行写一个text组件,绑定value的数值来显示。
block-size(28px) 大小 + 阴影(4px * 2)
,默认 margin: 1px 0;
,暂不支持设置 padding,实际占用高度为 38px
margin: 10px 18px;
,实际占用高度为 38px
<template>
<view>
<!-- app/web 平台滑块不能滑动到最末端,最大滑动值为10 -->
<!-- 微信小程序 滑块可以滑动到最末端,取值会四舍五入为 11 -->
<slider :min="0" :max="10.5" :step="1" :show-value="true" />
</view>
</template>
Template
Script
<template>
<view class="main">
<slider :disabled="disabled_boolean" :min="min_input" :max="max_input" :step="step_input" :value="value_input"
:activeColor="activeColor_input" :backgroundColor="backgroundColor_input" :block-size="block_size_input"
:block-color="block_color_input" :show-value="show_value_boolean" :valueColor="valueColor" @click="slider_click"
@touchstart="slider_touchstart" @touchmove="slider_touchmove" @touchcancel="slider_touchcancel"
@touchend="slider_touchend" @tap="slider_tap" @longpress="slider_longpress" @change="slider_change"
@changing="slider_changing" style="width: 90%"><text>uni-app-x</text></slider>
</view>
<scroll-view style="flex: 1">
<view class="content">
<page-head title="组件属性"></page-head>
<boolean-data :defaultValue="false" title="是否显示当前 value" @change="change_show_value_boolean"></boolean-data>
<boolean-data :defaultValue="false" title="是否禁用" @change="change_disabled_boolean"></boolean-data>
<input-data defaultValue="0" title="最小值(min)" type="number" @confirm="confirm_min_input"></input-data>
<input-data defaultValue="100" title="最大值(max)" type="number" @confirm="confirm_max_input"></input-data>
<input-data defaultValue="1" title="步长(step),取值必须大于 0,并且可被(max - min)整除" type="number"
@confirm="confirm_step_input"></input-data>
<input-data defaultValue="0" title="当前取值(value)" type="number" @confirm="confirm_value_input"></input-data>
<input-data defaultValue="#007aff" title="滑块左侧已选择部分的线条颜色(active-color)" type="text"
@confirm="confirm_activeColor_input"></input-data>
<input-data defaultValue="#e9e9e9" title="背景条的颜色(background-color)" type="text"
@confirm="confirm_backgroundColor_input"></input-data>
<input-data defaultValue="28" title="滑块的大小(block-size),取值范围为 12 - 28" type="number"
@confirm="confirm_block_size_input"></input-data>
<input-data defaultValue="#ffffff" title="滑块颜色(block-color)" type="text"
@confirm="confirm_block_color_input"></input-data>
<input-data defaultValue="#888888" title="Value颜色(value-color)" type="text"
@confirm="confirm_value_color_input"></input-data>
</view>
<view class="uni-padding-wrap">
<page-head title="默认及使用"></page-head>
<view class="uni-title">显示当前value</view>
<view>
<slider @change="sliderChange" :value="50" :show-value="true" />
</view>
<view class="uni-title">设置步进:step=10跳动</view>
<view>
<view class="uni-row">
<text>0</text>
<text class="m-l-a">100</text>
</view>
<slider @change="sliderChange" :value="60" :step="10" />
</view>
<view class="uni-title">浮点步进:step=0.01跳动</view>
<view>
<slider :value="0.5" :min="0" :max="1" :step="0.01" :show-value="true" />
</view>
<view class="uni-title">设置最小/最大值</view>
<view>
<slider @change="sliderChange" :value="100" :min="50" :max="200" :show-value="true" />
</view>
<view class="uni-title">不同颜色和大小的滑块</view>
<view>
<slider id="slider-custom-color-and-size" @change="sliderChange" :value="sliderValue"
:backgroundColor="sliderBackgroundColor" :activeColor="sliderActiveColor"
:activeBackgroundColor="sliderActiveColor" :blockColor="sliderBlockColor" :foreColor="sliderBlockColor"
:block-size="sliderBlockSize" />
</view>
<view class="uni-title">暗黑模式</view>
<view>
<slider :show-value="true" backgroundColor="rgba(32,32,32,0.5)" valueColor="#555" />
</view>
<navigator url="./slider-in-swiper">
<button>slider in swiper</button>
</navigator>
</view>
</scroll-view>
</template>
<style>
.main {
padding: 5px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
flex-direction: row;
justify-content: center;
}
.main .list-item {
width: 100%;
height: 100px;
border: 1px solid #666;
}
.m-l-a {
margin-left: auto;
}
</style>