🐛: 修复 slider 组件缺少 name 属性

This commit is contained in:
就眠儀式 2022-04-30 04:34:48 +08:00
parent 3b1849fb70
commit 46de17edcb
9 changed files with 70 additions and 35 deletions

View File

@ -1,22 +1,43 @@
<template> <template>
<svg t="1651169382813" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2529" width="27" height="27"> <svg
<path t="1651169382813"
d="M769.3 409.1c-4.3-16.2-14.7-29.7-29.2-38l-51.3-29.6-10 17.3c-3.7 6.4-10.4 10-17.3 10-3.4 0-6.8-0.9-10-2.7l68.6 39.6c5.2 3 9 7.9 10.5 13.7 1.6 5.8 0.8 11.9-2.3 17.2l-6.6 11.5c-6.2 10.8-20.1 14.5-30.9 8.3L441 312.2c-5.2-3-9-7.9-10.5-13.7-1.6-5.8-0.8-11.9 2.3-17.2l6.6-11.5c3-5.2 7.9-9 13.7-10.5 1.9-0.5 3.9-0.8 5.9-0.8 3.9 0 7.8 1 11.3 3l69.3 40c-9.6-5.5-12.8-17.8-7.3-27.3l10-17.3-52-30c-14.5-8.4-31.4-10.6-47.5-6.3-16.2 4.3-29.7 14.7-38 29.2l-6.6 11.5c-8.4 14.5-10.6 31.4-6.3 47.5 4.3 16.2 14.7 29.7 29.2 38l52 30 10-17.3c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-10 17.3 77.2 44.6 10-17.3c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-10 17.3 51.3 29.6c9.8 5.7 20.6 8.4 31.2 8.4 21.7 0 42.7-11.2 54.3-31.3l6.6-11.5c8.5-14.5 10.7-31.4 6.4-47.5z" class="icon"
fill="#515151" p-id="2530"></path> viewBox="0 0 1024 1024"
<path version="1.1"
d="M644.2 338.8l10-17.3-77.2-44.6-10 17.3c-5.5 9.6-17.8 12.8-27.3 7.3l111.8 64.6c-9.6-5.5-12.9-17.8-7.3-27.3zM539.6 301.5zM651.5 366.1z" xmlns="http://www.w3.org/2000/svg"
fill="#515151" p-id="2531"></path> p-id="2529"
<path width="27"
d="M624.1 195.2c12.3-21.3 39.6-28.6 60.9-16.3 10.3 6 17.7 15.6 20.8 27.1s1.5 23.5-4.5 33.8l-47.2 81.7 34.6 20 47.2-81.7c11.3-19.6 14.3-42.4 8.5-64.2-5.8-21.8-19.8-40.1-39.4-51.4-40.4-23.3-92.2-9.4-115.5 31l-47.2 81.7 34.6 20 47.2-81.7z" height="27"
fill="#515151" p-id="2532"></path> >
<path <path
d="M644.2 338.8c-5.5 9.6-2.2 21.8 7.3 27.3 3.1 1.8 6.6 2.7 10 2.7 6.9 0 13.6-3.6 17.3-10l10-17.3-34.6-20-10 17.3zM539.6 301.5c9.6 5.5 21.8 2.2 27.3-7.3l10-17.3-34.6-20-10 17.3c-5.5 9.6-2.2 21.8 7.3 27.3z" d="M769.3 409.1c-4.3-16.2-14.7-29.7-29.2-38l-51.3-29.6-10 17.3c-3.7 6.4-10.4 10-17.3 10-3.4 0-6.8-0.9-10-2.7l68.6 39.6c5.2 3 9 7.9 10.5 13.7 1.6 5.8 0.8 11.9-2.3 17.2l-6.6 11.5c-6.2 10.8-20.1 14.5-30.9 8.3L441 312.2c-5.2-3-9-7.9-10.5-13.7-1.6-5.8-0.8-11.9 2.3-17.2l6.6-11.5c3-5.2 7.9-9 13.7-10.5 1.9-0.5 3.9-0.8 5.9-0.8 3.9 0 7.8 1 11.3 3l69.3 40c-9.6-5.5-12.8-17.8-7.3-27.3l10-17.3-52-30c-14.5-8.4-31.4-10.6-47.5-6.3-16.2 4.3-29.7 14.7-38 29.2l-6.6 11.5c-8.4 14.5-10.6 31.4-6.3 47.5 4.3 16.2 14.7 29.7 29.2 38l52 30 10-17.3c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-10 17.3 77.2 44.6 10-17.3c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-10 17.3 51.3 29.6c9.8 5.7 20.6 8.4 31.2 8.4 21.7 0 42.7-11.2 54.3-31.3l6.6-11.5c8.5-14.5 10.7-31.4 6.4-47.5z"
fill="#515151" p-id="2533"></path> fill="#515151"
<path p-id="2530"
d="M395.4 769.6c-2.6 4.4-6.5 7.6-11 9-2.3 0.7-6.9 1.5-11.3-1-9.6-5.5-21.8-2.2-27.3 7.3l-23.1 40c-1.7 2.9-4.2 5-7.1 5.8-1.7 0.5-4.1 0.8-6.5-0.5-2.4-1.4-3.3-3.7-3.7-5.4-0.7-2.9-0.1-6.2 1.5-9l22.9-39.7c5.6-9.7 2.3-22.2-7.4-27.8-7.3-4.2-9.2-14.7-4.2-23.3l189.5-328.2-34.6-20L283.6 705c-12.4 21.4-10.1 47.2 3.7 64.8l-15 26c-6.7 11.6-8.8 25.1-5.9 37.9 3 13.4 11.1 24.4 22.7 31.1 7.3 4.2 15.4 6.4 23.7 6.4 4.9 0 9.8-0.7 14.6-2.2 12.6-3.9 23.2-12.4 29.9-24.1l15-26c7.8 1.1 15.9 0.4 23.8-2 14.2-4.4 26.2-14.1 33.8-27.3l189.5-328.2-34.6-20-189.4 328.2z" ></path>
fill="#515151" p-id="2534"></path> <path
<path d="M644.2 338.8l10-17.3-77.2-44.6-10 17.3c-5.5 9.6-17.8 12.8-27.3 7.3l111.8 64.6c-9.6-5.5-12.9-17.8-7.3-27.3zM539.6 301.5zM651.5 366.1z"
d="M622.2 416.8c-9.6-5.5-21.8-2.2-27.3 7.3l-10 17.3 34.6 20 10-17.3c5.6-9.6 2.3-21.8-7.3-27.3zM517.7 379.5c5.5-9.6 2.2-21.8-7.3-27.3-9.6-5.5-21.8-2.2-27.3 7.3l-10 17.3 34.6 20 10-17.3z" fill="#515151"
fill="#515151" p-id="2535"></path> p-id="2531"
></path>
<path
d="M624.1 195.2c12.3-21.3 39.6-28.6 60.9-16.3 10.3 6 17.7 15.6 20.8 27.1s1.5 23.5-4.5 33.8l-47.2 81.7 34.6 20 47.2-81.7c11.3-19.6 14.3-42.4 8.5-64.2-5.8-21.8-19.8-40.1-39.4-51.4-40.4-23.3-92.2-9.4-115.5 31l-47.2 81.7 34.6 20 47.2-81.7z"
fill="#515151"
p-id="2532"
></path>
<path
d="M644.2 338.8c-5.5 9.6-2.2 21.8 7.3 27.3 3.1 1.8 6.6 2.7 10 2.7 6.9 0 13.6-3.6 17.3-10l10-17.3-34.6-20-10 17.3zM539.6 301.5c9.6 5.5 21.8 2.2 27.3-7.3l10-17.3-34.6-20-10 17.3c-5.5 9.6-2.2 21.8 7.3 27.3z"
fill="#515151"
p-id="2533"
></path>
<path
d="M395.4 769.6c-2.6 4.4-6.5 7.6-11 9-2.3 0.7-6.9 1.5-11.3-1-9.6-5.5-21.8-2.2-27.3 7.3l-23.1 40c-1.7 2.9-4.2 5-7.1 5.8-1.7 0.5-4.1 0.8-6.5-0.5-2.4-1.4-3.3-3.7-3.7-5.4-0.7-2.9-0.1-6.2 1.5-9l22.9-39.7c5.6-9.7 2.3-22.2-7.4-27.8-7.3-4.2-9.2-14.7-4.2-23.3l189.5-328.2-34.6-20L283.6 705c-12.4 21.4-10.1 47.2 3.7 64.8l-15 26c-6.7 11.6-8.8 25.1-5.9 37.9 3 13.4 11.1 24.4 22.7 31.1 7.3 4.2 15.4 6.4 23.7 6.4 4.9 0 9.8-0.7 14.6-2.2 12.6-3.9 23.2-12.4 29.9-24.1l15-26c7.8 1.1 15.9 0.4 23.8-2 14.2-4.4 26.2-14.1 33.8-27.3l189.5-328.2-34.6-20-189.4 328.2z"
fill="#515151"
p-id="2534"
></path>
<path
d="M622.2 416.8c-9.6-5.5-21.8-2.2-27.3 7.3l-10 17.3 34.6 20 10-17.3c5.6-9.6 2.3-21.8-7.3-27.3zM517.7 379.5c5.5-9.6 2.2-21.8-7.3-27.3-9.6-5.5-21.8-2.2-27.3 7.3l-10 17.3 34.6 20 10-17.3z"
fill="#515151"
p-id="2535"
></path>
</svg> </svg>
</template> </template>

View File

@ -8,8 +8,8 @@ export default {
import "./index.less"; import "./index.less";
import LayDropdown from "../dropdown/index.vue"; import LayDropdown from "../dropdown/index.vue";
import EyeDropper from "./EyeDropper.vue"; import EyeDropper from "./EyeDropper.vue";
import { ref, computed, watch, onMounted, } from "vue"; import { ref, computed, watch, onMounted } from "vue";
import { useEyeDropper } from '@vueuse/core' import { useEyeDropper } from "@vueuse/core";
const emit = defineEmits(["update:modelValue"]); const emit = defineEmits(["update:modelValue"]);
@ -27,7 +27,7 @@ const props = withDefaults(defineProps<LayColorPicker>(), {
const saturationValue = ref<null | HTMLElement>(null); const saturationValue = ref<null | HTMLElement>(null);
const hueSlider = ref<null | HTMLElement>(null); const hueSlider = ref<null | HTMLElement>(null);
const alphaSlider = ref<null | HTMLElement>(null); const alphaSlider = ref<null | HTMLElement>(null);
const { isSupported, open, sRGBHex } = useEyeDropper() const { isSupported, open, sRGBHex } = useEyeDropper();
let pointStyle = ref("top: 25%;left: 80%;"); let pointStyle = ref("top: 25%;left: 80%;");
let hueSliderStyle = ref("left: 0;"); let hueSliderStyle = ref("left: 0;");
@ -42,13 +42,13 @@ let green = ref(0);
let blue = ref(0); let blue = ref(0);
let alpha = ref(1); let alpha = ref(1);
const openEyeDropper = function(){ const openEyeDropper = function () {
if(isSupported){ if (isSupported) {
open(); open();
}else{ } else {
console.warn("LayColorPicker: Eye dropper not supported by your browser!"); console.warn("LayColorPicker: Eye dropper not supported by your browser!");
} }
} };
onMounted(() => { onMounted(() => {
let { r, g, b, a } = parseColor(props.modelValue); let { r, g, b, a } = parseColor(props.modelValue);
@ -64,7 +64,7 @@ watch(sRGBHex, (sRGBHex) => {
green.value = g; green.value = g;
blue.value = b; blue.value = b;
alpha.value = a; alpha.value = a;
}) });
watch([red, green, blue], (newValue) => { watch([red, green, blue], (newValue) => {
emit( emit(
@ -450,10 +450,11 @@ function hex2rgba(s: any) {
></div> ></div>
</div> </div>
</div> </div>
<div <div
v-if="eyeDropper" v-if="eyeDropper"
@click="openEyeDropper" @click="openEyeDropper"
style="margin-left: 5px;"> style="margin-left: 5px"
>
<EyeDropper /> <EyeDropper />
</div> </div>
<div class="color-diamond"> <div class="color-diamond">

View File

@ -24,7 +24,8 @@
height: data.barHeight + 'px', height: data.barHeight + 'px',
width: scrollWidth + 'px', width: scrollWidth + 'px',
transform: 'translateY(' + data.translateY + 'px)', transform: 'translateY(' + data.translateY + 'px)',
backgroundColor: data.heightPre == 1 ? 'rgba(0,0,0,0)' : scrollColor, backgroundColor:
data.heightPre == 1 ? 'rgba(0,0,0,0)' : scrollColor,
}" }"
class="layui-scroll-thumb" class="layui-scroll-thumb"
@mousedown.stop.prevent="moveStart" @mousedown.stop.prevent="moveStart"
@ -36,8 +37,8 @@
<script lang="ts"> <script lang="ts">
export default { export default {
name: "LayScroll" name: "LayScroll",
} };
</script> </script>
<script lang="ts" setup> <script lang="ts" setup>

View File

@ -11,6 +11,7 @@ interface Prop {
min?: number; min?: number;
max?: number; max?: number;
} }
const props = withDefaults(defineProps<Prop>(), { const props = withDefaults(defineProps<Prop>(), {
disabled: false, disabled: false,
val: 0, val: 0,

View File

@ -3,6 +3,7 @@ import { ref, toRef, Ref } from "vue";
import { on, off } from "evtd"; import { on, off } from "evtd";
import { throttle } from "./utils/index"; import { throttle } from "./utils/index";
import LayTooltip from "../tooltip/index.vue"; import LayTooltip from "../tooltip/index.vue";
interface Prop { interface Prop {
rangeValue: Array<number>; rangeValue: Array<number>;
disabled?: boolean; disabled?: boolean;
@ -17,6 +18,7 @@ const props = withDefaults(defineProps<Prop>(), {
max: 100, max: 100,
disabled: false, disabled: false,
}); });
let rv = toRef(props, "rangeValue"); let rv = toRef(props, "rangeValue");
const moveAction = throttle(rangeMove); const moveAction = throttle(rangeMove);

View File

@ -11,6 +11,7 @@ interface Prop {
min?: number; min?: number;
max?: number; max?: number;
} }
const props = withDefaults(defineProps<Prop>(), { const props = withDefaults(defineProps<Prop>(), {
disabled: true, disabled: true,
val: 0, val: 0,

View File

@ -3,6 +3,7 @@ import { ref, toRef, Ref } from "vue";
import { on, off } from "evtd"; import { on, off } from "evtd";
import { throttle } from "./utils/index"; import { throttle } from "./utils/index";
import LayTooltip from "../tooltip/index.vue"; import LayTooltip from "../tooltip/index.vue";
interface Prop { interface Prop {
rangeValue: Array<number>; rangeValue: Array<number>;
disabled?: boolean; disabled?: boolean;

View File

@ -1,6 +1,12 @@
<script lang="ts">
export default {
name: "LaySlider"
}
</script>
<script setup lang="ts"> <script setup lang="ts">
import { Ref, toRef } from "vue";
import "./index.less"; import "./index.less";
import { Ref, toRef } from "vue";
import StandardVue from "./Standard.vue"; import StandardVue from "./Standard.vue";
import StandardRange from "./StandardRange.vue"; import StandardRange from "./StandardRange.vue";
import Vertical from "./Vertical.vue"; import Vertical from "./Vertical.vue";

View File

@ -18,6 +18,7 @@
import { reactive, ref, defineProps } from "vue"; import { reactive, ref, defineProps } from "vue";
import { on, off } from "evtd"; import { on, off } from "evtd";
import { throttle, handle_select } from "./utils/index"; import { throttle, handle_select } from "./utils/index";
interface Prop { interface Prop {
disabled?: boolean; disabled?: boolean;
bg?: string; bg?: string;