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>
相关推荐
雨季66616 分钟前
Flutter 三端应用实战:OpenHarmony 简易“动态内边距调节器”交互模式深度解析
javascript·flutter·ui·交互·dart
天人合一peng31 分钟前
Unity中button 和toggle监听事件函数有无参数
前端·unity·游戏引擎
会飞的战斗鸡1 小时前
JS中的链表(含leetcode例题)
javascript·leetcode·链表
方也_arkling1 小时前
别名路径联想提示。@/统一文件路径的配置
前端·javascript
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于web教师继续教育系统的设计与实现为例,包含答辩的问题和答案
前端
qq_177767372 小时前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767372 小时前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
web打印社区2 小时前
web-print-pdf:突破浏览器限制,实现专业级Web静默打印
前端·javascript·vue.js·electron·html
RFCEO2 小时前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素
烬头88212 小时前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos