<template> 
 | 
    <view 
 | 
        class="u-slider" 
 | 
        :style="[$u.addStyle(customStyle)]" 
 | 
    > 
 | 
        <slider 
 | 
            :min="min" 
 | 
            :max="max" 
 | 
            :step="step" 
 | 
            :value="value" 
 | 
            :activeColor="activeColor" 
 | 
            :inactiveColor="inactiveColor" 
 | 
            :blockSize="$u.getPx(blockSize)" 
 | 
            :blockColor="blockColor" 
 | 
            :showValue="showValue" 
 | 
            :disabled="disabled" 
 | 
            @changing="changingHandler" 
 | 
            @change="changeHandler" 
 | 
        ></slider> 
 | 
    </view> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
    import props from './props.js' 
 | 
    export default { 
 | 
        name: 'u--slider', 
 | 
        mixins: [uni.$u.mpMixin, uni.$u.mixin, props], 
 | 
        methods: { 
 | 
            // 拖动过程中触发 
 | 
            changingHandler(e) { 
 | 
                const { 
 | 
                    value 
 | 
                } = e.detail 
 | 
                // 更新v-model的值 
 | 
                this.$emit('input', value) 
 | 
                // 触发事件 
 | 
                this.$emit('changing', value) 
 | 
            }, 
 | 
            // 滑动结束时触发 
 | 
            changeHandler(e) { 
 | 
                const { 
 | 
                    value 
 | 
                } = e.detail 
 | 
                // 更新v-model的值 
 | 
                this.$emit('input', value) 
 | 
                // 触发事件 
 | 
                this.$emit('change', value) 
 | 
            } 
 | 
        }, 
 | 
    } 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
    @import "../../libs/css/components.scss"; 
 | 
</style> 
 |