c***@163.com
c***@163.com
  • 发布:2023-08-09 09:33
  • 更新:2023-08-09 09:33
  • 阅读:146

【报Bug】slot内使用 v-model 不能进行视图更新

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 3.8.7.20230703

HBuilderX类型: 正式

HBuilderX版本号: 3.8.7

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: HUAWEI M6

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

这是父页面

<template>  
    <view>  
        {{ JSON.stringify(formData) }}  
        <SearchCollapse class="search-box" @reset="resetForm">  
            <template v-slot:content>  
                <input v-model="formData.name" class="search-input" placeholder="请输入" />  
            </template>  
        </SearchCollapse>  

    </view>  
</template>  

<script>  
import SearchCollapse from '@/components/search-collapse/search-collapse.vue'  

export default {  
    components: {  
        SearchCollapse,  
    },  
    data() {  
        return {  
            formData: {  
                name: "", // 初始化 formData 的默认值  
            },  
        };  
    },  
    methods: {  
        resetForm() {  
            console.log('resetForm');  
            this.formData.name = ""; // 重置输入框的值  
        },  
    },  
};  
</script>

这是 SearchCollapse 组件

<template>  
    <view>  
        <slot name="content" :reset="reset"></slot>  
        <button @click="reset">重置</button>  
    </view>  
</template>  

<script>  
export default {  
    methods: {  
        reset() {  
            console.log('reset');  
            this.$emit("reset"); // 向父组件发送重置事件  
        },  
    },  
};  
</script>  

操作步骤:

只需要运行到真机即可复现步骤

预期结果:

应该跟随H5端表现效果,数据与视图 一起清空

实际结果:

input 内的数据没有清空

bug描述:

在父页面中 使用 组件的slot,里面的input v-model不能进行视图更新(清空操作),但是H5端是可以的,使用chrome打开可以正常进行视图更新(清空操作),视图与数据保持一致

2023-08-09 09:33 负责人:无 分享
已邀请:

要回复问题请先登录注册