修复hot组件中拖拽事件阻止冒泡的问题。通过注释掉`event.stopPropagation();`允许拖拽操作时事件冒泡至父元素,以触发父元素的拖拽方法。同时,修复了`start_drag_area_box`和`start_drag_btn`方法中事件修饰符的错误使用,应使用`$event.stopPropagation();`而不是`event.preventDefault();`。另外,修改了`index.vue`文件中拖拽按钮的事件修饰符从`@mousedown.prevent`更正为`@mousedown.stop`,以正确阻止事件传播。最后,调整了`nextTick`为`setTimeout`以确保DOM更新后执行,解决了组件不正确渲染的问题。

sws 2024-08-12
v1.0.0
sws 2024-08-12 18:19:41 +08:00
parent 259674c09c
commit bb01ae0769
4 changed files with 11 additions and 2 deletions

View File

View File

@ -159,7 +159,13 @@
<!-- 图片预览 -->
<el-image-viewer v-if="preview_switch_img && upload_type == 'img'" :z-index="999999" :url-list="[preview_url]" :hide-on-click-modal="true" @close="preview_close"></el-image-viewer>
<upload-model v-model="upload_model_visible" :type="upload_type" :exts="props.type == 'img' ? ext_img_name_list : props.type == 'video' ? ext_video_name_list : ext_file_name_list" @close="close_upload_model"></upload-model>
<!-- <el-dialog v-model="dialog_visible_" class="radius-lg" width="1168" append-to-body> </el-dialog> -->
<el-dialog v-model="dialog_visible_type_oprate" class="radius-lg" width="1168" append-to-body>
<template #header>
<div class="title center re">
<div class="tc size-16 fw">添加分类</div>
</div>
</template>
</el-dialog>
</template>
<script lang="ts" setup>
const app = getCurrentInstance();
@ -459,6 +465,8 @@ const search_data = ref({
const get_list = () => {
console.log('查询接口', search_data);
};
//
const dialog_visible_type_oprate = ref(false);
//
const add_type = () => {};
//

View File

@ -35,11 +35,11 @@ watch(
const new_content = newVal?.content || {};
const new_style = newVal?.style || {};
img.value = new_content?.img[0];
hot_data.value = new_content?.hot?.data || [];
img_width.value = new_content?.hot.img_width || 1;
img_height.value = new_content?.hot.img_height || 1;
style_container.value = common_styles_computer(new_style.common_style);
setTimeout(() => {
hot_data.value = new_content?.hot?.data || [];
if (containerRef.value && hotRef.value) {
//
w_scale1.value = containerRef.value?.clientWidth / img_width.value;

View File

@ -57,6 +57,7 @@ declare module 'vue' {
FooterNavContent: typeof import('./../components/footer-nav/footer-nav-content.vue')['default']
FooterNavSetting: typeof import('./../components/footer-nav/footer-nav-setting.vue')['default']
FooterNavStyles: typeof import('./../components/footer-nav/footer-nav-styles.vue')['default']
Form: typeof import('./../components/common/upload/form.vue')['default']
GdMap: typeof import('./../components/base/maps/gd-map.vue')['default']
Hot: typeof import('./../components/common/hot/index.vue')['default']
Icon: typeof import('./../components/base/icon/index.vue')['default']