123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <template>
- <view class="demo-block">
- <text class="demo-block__title-text ultra">Slider 滑块</text>
- <text class="demo-block__desc-text">滑动型输入器,展示当前值和可选范围、区间、档位。</text>
- <view class="demo-block__body">
- <view class="demo-block card">
- <text class="demo-block__title-text">基础用法{{value}}</text>
- <view class="demo-block__body">
- <l-slider v-model="value"/>
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">双滑块{{value2.join(',')}}</text>
- <view class="demo-block__body">
- <l-slider v-model="value2" :range="true"/>
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">指定范围{{value3}}</text>
- <view class="demo-block__body">
- <l-slider v-model="value3" :min="-50" :max="50"/>
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">禁用</text>
- <view class="demo-block__body">
- <l-slider v-model="value4" :disabled="true" />
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">指定步长</text>
- <view class="demo-block__body">
- <l-slider v-model="value" :step="10" />
- <view style="height: 10px;"></view>
- <l-slider v-model="value2" :step="10" :range="true"/>
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">自定义样式</text>
- <view class="demo-block__body">
- <l-slider v-model="value" thumb-size="30px" rail-size="4px" track-color="#34c471" />
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">自定义按钮</text>
- <view class="demo-block__body">
- <l-slider v-model="value" rail-size="4px" track-color="#ffb400">
- <template #start-thumb>
- <text class="custom-thumb">{{ value }}</text>
- </template>
- </l-slider>
- </view>
- </view>
- <view class="demo-block card">
- <text class="demo-block__title-text">垂直方向</text>
- <view class="demo-block__body row" style="height: 200px;">
- <l-slider v-model="value" vertical/>
- <view style="width: 50px;"></view>
- <l-slider v-model="value2" range vertical/>
- </view>
- </view>
-
- </view>
- </view>
- </template>
- <script setup>
- const value = ref(50)
- const value2 = ref([20, 50])
- const value3 = ref(10)
- const value4 = ref(10)
-
- </script>
- <style lang="scss">
- .row{
- flex-direction: row;
- flex-wrap: wrap;
- }
- .custom-thumb {
- width: 42px;
- padding: 2px 0;
- color: #000;
- font-size: 12px;
- font-weight: 700;
- line-height: 18px;
- text-align: center;
- background-color: #ffb400;
- border-radius: 100px;
- box-sizing: content-box;
- }
- .demo-block {
- margin: 32px 15px 0;
- // overflow: visible;
- &.card{
- background-color: white;
- padding: 30rpx;
- margin-bottom: 20rpx !important;
- }
- &__title {
- margin: 0;
- margin-top: 8px;
- &-text {
- color: rgba(0, 0, 0, 0.6);
- font-weight: 400;
- font-size: 14px;
- line-height: 16px;
- display: flex;
- &.large {
- color: rgba(0, 0, 0, 0.9);
- font-size: 18px;
- font-weight: 700;
- line-height: 26px;
- }
- &.ultra {
- color: rgba(0, 0, 0, 0.9);
- font-size: 24px;
- font-weight: 700;
- line-height: 32px;
- }
- }
- }
- &__desc-text {
- color: rgba(0, 0, 0, 0.6);
- margin: 8px 16px 0 0;
- font-size: 14px;
- line-height: 22px;
- }
- &__body {
- margin: 16px 0;
- overflow: visible;
- .demo-block {
- // margin-top: 0px;
- margin: 0;
- }
- }
- }
- </style>
|