本文編輯: 技術(shù)藍(lán)天瀏覽 7281
版權(quán)所有,嚴(yán)禁轉(zhuǎn)載
滑動選擇器。
wxml
<view class="section section_gap">
<text class="section__title">設(shè)置left/right icon</text>
<view class="body-view">
<slider bindchange="slider1change" left-icon="cancel" right-icon="success_no_circle"/>
</view>
</view>
<view class="section section_gap">
<text class="section__title">設(shè)置step</text>
<view class="body-view">
<slider bindchange="slider2change" step="5"/>
</view>
</view>
<view class="section section_gap">
<text class="section__title">顯示當(dāng)前value</text>
<view class="body-view">
<slider bindchange="slider3change" show-value/>
</view>
</view>
<view class="section section_gap">
<text class="section__title">設(shè)置最小/最大值</text>
<view class="body-view">
<slider bindchange="slider4change" min="50" max="200" show-value/>
</view>
</view>
js
var pageData = {}
for (var i = 1; i < 5; i++) {
(function (index) {
pageData['slider' + index + 'change'] = function(e) {
console.log('slider' + 'index' + '發(fā)生 change 事件,攜帶值為', e.detail.value)
}
})(i)
}
Page(pageData)
wxss
.page {
min-height: 100%;
flex: 1;
background-color: #FBF9FE;
font-size: 32rpx;
overflow: hidden;
}
屬性名 | 類型 | 默認(rèn)值 | 說明 |
---|---|---|---|
min | Number | 0 | 最小值 |
max | Number | 100 | 最大值 |
step | Number | 1 | 步長,取值必須大于0,并且可被(max - min)整除 |
disabled | Boolean | false | 是否禁用 |
value | Number | 0 | 當(dāng)前取值 |
show-value | Boolean | false | 是否顯示當(dāng)前 value |
bindchange | EventHandle | 完成一次拖動后觸發(fā)的事件,event.detail = {value: value} |
滑動選擇器。
既然min和max是Number類型,那么將min設(shè)置為負(fù)數(shù)是否可以?
wxml
<view class="section section_gap">
<text class="section__title">設(shè)置最小/最大值</text>
<view class="body-view">
<slider bindchange="slider4change" min="-10" max="20" show-value/>
</view>
</view>
js
var pageData = {}
for (var i = 1; i < 5; i++) {
(function (index) {
pageData['slider' + index + 'change'] = function(e) {
console.log('slider' + 'index' + '發(fā)生 change 事件,攜帶值為', e.detail.value)
}
})(i)
}
Page(pageData)
wxss
.page {
min-height: 100%;
flex: 1;
background-color: #FBF9FE;
font-size: 32rpx;
overflow: hidden;
}
分析:可以看到min可以設(shè)置為負(fù)數(shù),而且,默認(rèn)滑塊顯示到0的位置(說明value這個屬性是控制這個的)。然后還可以往左拖動,然后顯示出負(fù)數(shù);
我以為會報錯,結(jié)果出乎我的意料。它居然不報錯,然后顯示到max位置,滑塊也是不能夠拖動的。這是一個明顯的大坑??!
wxml
<view class="section section_gap">
<text class="section__title">設(shè)置最小/最大值</text>
<view class="body-view">
<slider bindchange="slider4change" min="100" max="20" show-value/>
</view>
</view>
js
var pageData = {}
for (var i = 1; i < 5; i++) {
(function (index) {
pageData['slider' + index + 'change'] = function(e) {
console.log('slider' + 'index' + '發(fā)生 change 事件,攜帶值為', e.detail.value)
}
})(i)
}
Page(pageData)
wxss
.page {
min-height: 100%;
flex: 1;
background-color: #FBF9FE;
font-size: 32rpx;
overflow: hidden;
}
這個控件估計后面會改吧。請大家避免這個坑。
另外,max還可以和min相等。
我之前用過slider,人家滑塊可以是設(shè)置兩個的。這個文檔上沒寫,我也是夠了,只能說不成熟吧。
除了默認(rèn)的顯示方式,我們還可以用toast方式顯示選擇的值
wxml
<view class="section section_gap">
<text class="section__title">使用toast顯示當(dāng)前value</text>
<view class="body-view">
<slider bindchange="slider3change" min="0" max="20" step="5" />
</view>
</view>
js
var pageData = {}
for (var i = 1; i < 5; i++) {
(function (index) {
pageData['slider' + index + 'change'] = function(e) {
console.log('slider' + 'index' + '發(fā)生 change 事件,攜帶值為', e.detail.value)
wx.showToast({
title: '您選擇了'+ e.detail.value,
icon: 'success',
duration: 2000
})
}
})(i)
}
Page(pageData)
wxss
.page {
min-height: 100%;
flex: 1;
background-color: #FBF9FE;
font-size: 32rpx;
overflow: hidden;
}