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>
相关推荐
肥肠可耐的西西公主7 分钟前
前端(AJAX)学习笔记(CLASS 2):图书管理案例以及图片上传
前端·笔记·学习
大胖丫8 分钟前
vue 学习-vite api.js
开发语言·前端·javascript
孙桂月10 分钟前
ES6相关操作(2)
前端·javascript·es6
陈浩源同学10 分钟前
学习 TypeScript 栈和队列数据结构
前端·算法
我这一生如履薄冰~12 分钟前
简单封装一个websocket构造函数
前端·javascript·websocket
fangcaojushi12 分钟前
解决webpack5.54打包图片及图标的问题
前端·vue.js
海盗强13 分钟前
Webpack打包优化
前端·webpack·node.js
星之卡比*14 分钟前
前端面试题---vite和webpack的区别
前端·面试
^^为欢几何^^19 分钟前
npm、pnpm和yarn有什么区别
前端·npm·node.js
前端菜鸟日常26 分钟前
vue2和vue3的按需引入的详细对比通俗易懂
javascript·vue.js·ecmascript