uniapp中父组件调用子组件方法

实现过程(setup语法糖形式下)

  1. 在子组件完成方法逻辑,并封装。
  2. 在子组件中使用defineExpose暴露子组件的该方法。
  3. 在父组件完成子组件ref的绑定。
  4. 通过ref调用子组件暴露的方法。

子组件示例

html 复制代码
<template>
</template>

<script setup>
import { defineEmits } from 'vue';

// 方法的定义
const contentIsEmpty = () => {
    uni.showModal({
        title: `请先完成"${props.name}"的输入`,
        showCancel: false
    })
}

// 暴露方法
defineExpose({
    contentIsEmpty
})
</script>

<style lang="scss" scoped>
</style>

父组件示例

html 复制代码
<template>
    <!-- 绑定ref -->
    <ContentInput name="xxx" ref="contentInputRef"/>
</template>

<script setup>
    // 导入组件
    import ContentInput from '@/components/content/content.vue';

    // 定义ref
    const contentInputRef = ref(null)

    // 调用子组件所暴露的方法
    contentInputRef.value.contentIsEmpty()
</script>

<style lang="scss" scoped>
</style>
相关推荐
beibeibeiooo33 分钟前
【CSS3】02-选择器 + CSS特性 + 背景属性 + 显示模式
前端·css·css3
云浮万里_11 小时前
保姆级教程:Vue3 + Django + MySQL 前后端联调(PyCharm+VSCode版)
vue.js·vscode·mysql·pycharm·django
程序员小刚1 小时前
基于SpringBoot + Vue 的考勤管理系统
vue.js·spring boot·后端
uhakadotcom2 小时前
刚刚发布的React 19.1提供了什么新能力?
前端·javascript·面试
uhakadotcom2 小时前
Expo 简介:跨平台移动应用开发的强大工具
前端·javascript·面试
markzzw2 小时前
浏览器插件钱包(一) - 区块链世界的入口
前端·web3·区块链
承前智2 小时前
基于Hbuilder X的uni-app连接OneNET云平台及AI交互 实战指南(三)——命令下发
uni-app·交互
夕水2 小时前
终于,我也能够写出一款代码编辑器
前端
red润2 小时前
npm包autocannon牛逼的后台压力测试库
前端·javascript·node.js
黄蘑菇2 小时前
white-space、word-break、overflow-wrap(原名word-wrap)的区别
前端