Vue3父子组件双向绑定值用例

javascript 复制代码
<template>
  <div>
    <MySelect v-model="data" />
    <div>
      code1: {{ data.code1 }}
    </div>
    <div>
      code2: {{ data.code2 }}
    </div>

  </div>
</template>

<script setup>

import { countdownEmits } from 'element-plus';
import MySelect from './component/mySelect/index.vue';
import { ref, reactive, onMounted } from 'vue';

let data = ref({
  code1: '1',
  code2: 'Option2',
});

onMounted(() => {})


</script>
<style></style>

javascript 复制代码
<template>
  <div>
    <el-select v-model="localValue.code1" @change="change">
      <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
    </el-select>
    <el-select v-model="localValue.code2" @change="change">
      <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
    </el-select>
  </div>
</template>

<script setup>
import { ref, reactive, onMounted } from 'vue';
let emits = defineEmits(['update:modelValue'])
const props = defineProps({
  modelValue: {
    type: Object,
    default() {
      return {
        code1: '1',
        code2: '2'
      }
    }
  }
})
const localValue = reactive({ ...props.modelValue }); // 拷贝 modelValue
const options = ref([])
const change = () => {
  emits('update:modelValue', localValue)
}

onMounted(() => {
  console.log('值', props.modelValue)

  setTimeout(() => {
    options.value = [
      {
        value: 'Option1',
        label: 'Option1',
      },
      {
        value: 'Option2',
        label: 'Option2',
      },
      {
        value: 'Option3',
        label: 'Option3',
      },
    ]
  }, 10000)



})
</script>
<style scoped></style>
相关推荐
道可到10 分钟前
重新审视 JavaScript 中的异步循环
前端
起这个名字16 分钟前
微前端应用通信使用和原理
前端·javascript·vue.js
QuantumLeap丶24 分钟前
《uni-app跨平台开发完全指南》- 06 - 页面路由与导航
前端·vue.js·uni-app
CSharp精选营26 分钟前
ASP.NET Core Blazor进阶1:高级组件开发
前端·.net core·blazor
Sheldon一蓑烟雨任平生27 分钟前
Vue3 组件库 Element Plus
vue.js·vue3·element plus·element ui·vue3 常用组件库
用户97141718142728 分钟前
uniapp页面路由
vue.js·uni-app
用户904438163246034 分钟前
AI 生成的 ES2024 代码 90% 有坑!3 个底层陷阱 + 避坑工具,项目 / 面试双救命
前端·面试
小p37 分钟前
react学习6:受控组件
前端·react.js
黑云压城After1 小时前
纯css实现加载动画
服务器·前端·css
鹏多多1 小时前
Web使用natapp进行内网穿透和预览本地页面
前端·javascript