我深怕自己本非美玉,故而不敢加以刻苦琢磨,
却又半信自己是块美玉,故又不肯庸庸碌碌,与瓦砾
|

Amnesia_999

园龄:2年6个月粉丝:3关注:0

vue3中封装el-dialog实现父子组件传值绑定

框架:vue3.0,ruoyi,element-plus
语言:ts

子组件

<el-dialog v-model="visible" @close="handleClose"></el-dialog>
<script setup lang="ts" name="UploadDialog">
const props = defineProps({
modelValue: {
type: boolean,
default: false
}
})
/** 弹框状态绑定 */
const emit = defineEmits(['update:modelValue']);
const visible = computed({
get() {
return props.modelValue
},
set(newValue) {
emit("update:modelValue", newValue)
}
})
/** 关闭弹框 */
const handleClose = () => {
visible.value = false
}
</script>

父组件

<el-button @click="openDialog">文件上传</el-button>
<upload-dialog v-model:modelValue="dialogVisible"></upload-dialog>
<script setup lang="ts">
const dialogVisible = ref(false);
const openDialog = () => {
dialogVisible.value = true;
}
</script>

本文作者:Amnesia_999

本文链接:https://www.cnblogs.com/amnesia999/p/18574546

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Amnesia_999  阅读(214)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起