• Vue3 在 Elementplus中 vmodel, update:modelValue 线上环境报错


    Vue3 在 Element-plus中 v-model, update:modelValue 线上环境报错 modelValue is not defined,在本地开发环境没有问题

    01)错误场景复现

    <template>
      <!-- 父组件-->
      <div class="fei-parent">
        <p>
          <button @click="visible=true"> 打开弹窗 </button>
        </p>
    
        <p>
          <Bar v-model="visible"/>
        </p>
    
      </div>
    </template>
    
    <script setup>
      import {ref} from "vue";
      import Bar from './bar.vue'
      const visible = ref(false);
    </script>
    ------------------------------------------------------
    <template>
      <el-dialog title="新增-修改" :width="560" v-model="modelValue" :before-close="onClose">
        <div>
          aaaaaaaaaaa__报错了
        </div>
      </el-dialog>
    
    </template>
    
    <script setup>
    const props = defineProps({
      modelValue: {
        type: Boolean,
        default: false
      }
    })
    
    const emits = defineEmits(['update:modelValue'])
    
    const onClose = () => {
      emits('update:modelValue', false)
    }
    
    </script>

    02)解决方案01:

    在父组件上使用 v-if

    <Bar v-if="visible" v-model="visible"/>

    03)解决方案02:

    在子组件中使用computed,重新定义值

    <template>
      <el-dialog title="新增-修改" :width="560" v-model="editVisible" :before-close="onClose">
        <div>
          aaaaaaaaaaa__ok_大飞
        </div>
      </el-dialog>
    </template>
    
    <script setup>
    import {computed} from "vue";
    
    const props = defineProps({
      modelValue: {
        type: Boolean,
        default: false
      }
    })
    
    const emits = defineEmits(['update:modelValue'])
    
    const editVisible = computed({ // 重新定义
      get: () => props.modelValue,
      set: (value) => emits("update:modelValue", value),
    })
    
    const onClose = () => {
      emits('update:modelValue', false)
    }
    
    </script>
  • 相关阅读:
    asp.net中ashx文件如何调用session
    NetAdvantage webdatagrid 控件的一些属性
    .NET 配置文件简单使用
    Dictionary的遍历和修改
    利用html+ashx实现aspx的功能
    .ashx
    jQuery AJAX实现调用页面后台方法
    用JS实现AJAX
    WCF系列学习5天速成
    介绍一个小工具 Linqer
  • 原文地址:https://www.cnblogs.com/dafei4/p/16572753.html
Copyright © 2020-2023  润新知