vue3 组件传参

 父传子

:checkedCities="checkedCities"

子接收

const props = defineProps({
  checkedCities: {
    type: Array,
    default: [],
  }
});

当父组件想要执行子组件方法的时候需要暴漏变量 

// 暴露变量 defineExpose({ openDialogReceivingUni, });

子取值:props.checkedCities

子传父

const emit = defineEmits(['Confirmreceive'])
emit('Confirmreceive',listClick.value);

完整代码:

<template>
<el-button @click="receivingUnitRef.openDialogReceivingUni()" icon="Plus"/>
<ReceivingUnit ref="receivingUnitRef" :checkedCities="checkedCities" @Confirmreceive="Confirmreceive"></ReceivingUnit>

</template>

<script setup lang="ts" name="systemPostDialog">
//引入组件
const ReceivingUnit = defineAsyncComponent(() => import('/@/components/receivingUnit/index.vue'));
//生明变量
const receivingUnitRef = ref()
const checkedCities = ref();

const Confirmreceive = (list) => {
 //子组件返回的数据 list
};

</script>

<template>
  <el-dialog
      :append-to-body="true"
      title=""
      width="750"
      v-model="dialogVisiblereceive"
      draggable>
//弹窗内容
 <el-button type="primary" @click="Confirm"> 确认</el-button>
  </el-dialog>
</template>
<script lang="ts" name="historicalRecord" setup>
import {getAllOneLineDept} from "/@/api/operationMonitoring/operationalInformation";
const props = defineProps({
  checkedCities: { //父组件给的数据
    type: Array,
    default: [],
  }
});
const emit = defineEmits(['Confirmreceive'])

const openDialogReceivingUni = () => {
  //父组件执行子组件方法
  //打开弹窗
};

const Confirm = (newPage) => {
  emit('Confirmreceive','111'); //子组件给父组件传参
}
// 暴露变量
defineExpose({
  openDialogReceivingUni,
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值