vue2/3自定义组件支持v-model的方式区别

vue2

fireTicketEdit.vue

html 复制代码
<baseInfo :ticket.sync="ticketForm" />

baseInfo.vue

javascript 复制代码
<script>
export default {
  props: {
    ticket: Object
  },
  computed: {
    ticketForm: {
      get() {
        return this.ticket
      },
      set(newValue) {
        this.$emit('update:ticket', newValue)
      }
    }
  },
  methods: {
    deleteWorkOrder() {
      this.ticketForm.workOrderId = null
    }
  }
}
</script>

vue3

fireTicketEdit.vue

html 复制代码
<baseInfo v-model:ticket="ticketForm" />

baseInfo.vue

javascript 复制代码
<script setup>
import { computed, emit } from 'vue'

const props = defineProps({
  ticket: Object
})

const ticketForm = computed({
  get() {
    return props.ticket
  },
  set(newValue) {
    emit('update:ticket', newValue)
  }
})

function deleteWorkOrder() {
  ticketForm.value.workOrderId = null
}
</script>
相关推荐
张元清2 分钟前
React 19 Hooks:新特性及高效使用指南
前端·javascript·面试
敏捷建模4 分钟前
Zig语言能够编写同时针对PC端和手机端自适应的软件吗
前端
Hello_Embed12 分钟前
LVGL 入门(四):大小坐标与盒子模型
前端·笔记·stm32·单片机·嵌入式
༄天M宇ༀ20 分钟前
E10: e-builder 低代码构建平台接口管理(E9建模版)
java·前端·spring·servlet·reactjs
窝子面33 分钟前
解决vite构建的项目中使用path报错
前端
kana_yonk36 分钟前
如何设置前端vue程序开机自启(Windows)
前端·vue.js·windows
清空mega37 分钟前
《Vue3 中 computed、watch、watchEffect 怎么用?响应式核心能力详解》
前端·javascript·vue.js
ego.iblacat1 小时前
在 LNMP 平台中部署 Web 应用
android·前端·adb
浩宇软件开发1 小时前
springBoot+Vue中华诗词学习后台管理系统
vue.js·spring boot·axios·element-plus·router
weixin199701080161 小时前
南网商城商品详情页前端性能优化实战
java·前端·性能优化