From d627e322d55ca96cdaf6924db7fc6618358a76af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BB=D1=8E=D0=B3=D0=B8=D0=BD?= <d.malygin@iqdev.digital> Date: Wed, 29 Jan 2025 15:49:17 +0500 Subject: [PATCH] fix: 'Checkbox', 'Select', 'Rating', 'ProgressBar' and 'Knob' for 'Table' work --- src/components/Checkbox/Checkbox.vue | 3 ++- src/components/Knob/Knob.vue | 2 ++ src/components/ProgressBar/ProgressBar.vue | 5 ++--- src/components/Rating/Rating.vue | 2 ++ src/components/Select/Select.vue | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/Checkbox/Checkbox.vue b/src/components/Checkbox/Checkbox.vue index 49378d4..eae61a0 100644 --- a/src/components/Checkbox/Checkbox.vue +++ b/src/components/Checkbox/Checkbox.vue @@ -24,7 +24,8 @@ const emit = defineEmits(['update']); if (props.active) { active.value = props.active; } - +const propActive = computed(() => props.active); +watch(propActive, () => (active.value = propActive.value)); watch(active, () => emit('update', active)); const themeColor = computed(() => convertThemeToColor(props.theme, props.darknessTheme)); diff --git a/src/components/Knob/Knob.vue b/src/components/Knob/Knob.vue index 80861ad..c1fb4ef 100644 --- a/src/components/Knob/Knob.vue +++ b/src/components/Knob/Knob.vue @@ -30,6 +30,8 @@ const emit = defineEmits(['update']); if (props.value) { value.value = props.value; } +const propValue = computed(() => props.value); +watch(propValue, () => (value.value = propValue.value)); watch(value, () => emit('update', value)); const isClickHold = ref<boolean>(false); diff --git a/src/components/ProgressBar/ProgressBar.vue b/src/components/ProgressBar/ProgressBar.vue index 5245203..4936a0d 100644 --- a/src/components/ProgressBar/ProgressBar.vue +++ b/src/components/ProgressBar/ProgressBar.vue @@ -17,9 +17,8 @@ const props = withDefaults(defineProps<IProgressBarProps>(), { const value = defineModel() as Ref<number>; const emit = defineEmits(['update']); -if (props.value) { - value.value = props.value; -} +const propValue = computed(() => props.value); +watch(propValue, () => (value.value = propValue.value), { immediate: true }); watch(value, () => emit('update', value)); const active = computed(() => `${(value.value / props.max) * 100}%`); diff --git a/src/components/Rating/Rating.vue b/src/components/Rating/Rating.vue index df733be..db8d860 100644 --- a/src/components/Rating/Rating.vue +++ b/src/components/Rating/Rating.vue @@ -21,6 +21,8 @@ const emit = defineEmits(['update']); if (props.value) { value.value = props.value; } +const propValue = computed(() => props.value); +watch(propValue, () => (value.value = propValue.value)); watch(value, () => emit('update', value)); const onHoverIndex = ref(); diff --git a/src/components/Select/Select.vue b/src/components/Select/Select.vue index 44e5dc4..92bec55 100644 --- a/src/components/Select/Select.vue +++ b/src/components/Select/Select.vue @@ -25,7 +25,8 @@ const emit = defineEmits(['update']); if (props.selected) { selected.value = props.selected; } - +const propSelected = computed(() => props.selected); +watch(propSelected, () => (selected.value = propSelected.value)); watch(selected, () => emit('update', selected)); const isOpen = ref<boolean>(false); -- GitLab