Commit 758e3d33abe457bca891c5f090f26d0360e1844b

Authored by loveumiko
1 parent ab4c93f6

fix: 属性下发拖动时 slider值应该跟随移动

@@ -62,29 +62,31 @@ @@ -62,29 +62,31 @@
62 }; 62 };
63 }); 63 });
64 64
65 - const sendValue = ref(0);  
66 - const handleChange = async (value: number) => {  
67 - sendValue.value = value;  
68 - }; 65 + // const sendValue = ref(0);
  66 + const isChangeValue = ref<number | string>(); //保留以前的值 报错的时候要取以前的值
  67 + const handleChange = async () => {};
69 68
70 const { loading, doControlSendCommand } = useControlComand(); 69 const { loading, doControlSendCommand } = useControlComand();
71 70
72 - const handleAfterChange = () => { 71 + const handleAfterChange = (value) => {
73 if (unref(getDesign).password) { 72 if (unref(getDesign).password) {
74 openModal(true, { password: unref(getDesign).password }); 73 openModal(true, { password: unref(getDesign).password });
75 unref(sliderElRef)?.blur(); 74 unref(sliderElRef)?.blur();
76 return; 75 return;
77 } 76 }
78 - handleSendCommand(); 77 + handleSendCommand(value);
79 }; 78 };
80 79
81 - const handleSendCommand = async () => { 80 + const handleSendCommand = async (value) => {
82 if (props.config.option.mode === ComponentMode.SELECT_PREVIEW) return; 81 if (props.config.option.mode === ComponentMode.SELECT_PREVIEW) return;
83 - const value = unref(sendValue);  
84 const { option } = props.config || {}; 82 const { option } = props.config || {};
85 const result = await doControlSendCommand(option, value); 83 const result = await doControlSendCommand(option, value);
86 unref(sliderElRef)?.blur(); 84 unref(sliderElRef)?.blur();
87 - sliderValue.value = result ? value : unref(sliderValue); 85 + sliderValue.value = result ? value : unref(isChangeValue);
  86 +
  87 + if (result) {
  88 + isChangeValue.value = sliderValue.value;
  89 + }
88 }; 90 };
89 91
90 const { getNumberValue } = useReceiveValue(); 92 const { getNumberValue } = useReceiveValue();
@@ -94,6 +96,7 @@ @@ -94,6 +96,7 @@
94 const [name, value] = latest; 96 const [name, value] = latest;
95 if (!name && !value) return; 97 if (!name && !value) return;
96 sliderValue.value = getNumberValue(value); 98 sliderValue.value = getNumberValue(value);
  99 + isChangeValue.value = getNumberValue(value);
97 }; 100 };
98 101
99 useDataFetch(props, updateFn); 102 useDataFetch(props, updateFn);
@@ -125,7 +128,7 @@ @@ -125,7 +128,7 @@
125 '--slider-top': -(getRatio ? getRatio * 5 : 5) + 'px', 128 '--slider-top': -(getRatio ? getRatio * 5 : 5) + 'px',
126 }" 129 }"
127 class="no-drag" 130 class="no-drag"
128 - :value="sliderValue" 131 + v-model:value="sliderValue"
129 :min="getDesign.minNumber" 132 :min="getDesign.minNumber"
130 :max="getDesign.maxNumber" 133 :max="getDesign.maxNumber"
131 @change="handleChange" 134 @change="handleChange"