vue3.0中使用ref来调用子组件的方法

前言:

      vue3.0中ref的使用和vue2.0中的ref相比较也有很大的改变,这里总结下他的具体使用方法。

vue2.0

父组件:

template

 <Table ref="eleTable" @handle="handleFun"></Table>

methods:

this.$refs.eleTable.子组件的方法名+()

this.$refs.eleTable.子组件的属性名

vue3.0

父组件:

template

 <Table ref="eleTable" @handle="handleFun"></Table>

script中:

import {  ref  } from 'vue'
setup() { 
   //ref方法
    const eleTable = ref()  //eleTable是页面ref后面对应的名字
    const clickSon = () => {
      eleTable.value.changeShowText() //调用子组件的方法
      let arr = eleTable.value.tableData //获取子组件 setup 里面定义的变量
    }
}

拿到子组件的数据了

子组件:

template:

<el-button type="success" style="margin:10px 0">{
   
   {conts}}</el-button>

script:

import {  ref  } from 'vue'
setup(){
    const tableData = [{
      date: '2016-05-02',
      name: '王小虎',
      address: '上海市普陀区金沙江路 1518 弄'
    }]


    const conts = ref("我是子组件"); //我是子组件是默认展示的数据
    const changeShowText = () =>{
      conts.value = "22222222222";
    }

    return {
      //数据
      tableData,
      conts,
      //函数方法
      changeShowText

    }
}

好了,到这里就结束了

猜你喜欢

转载自blog.csdn.net/qq_41619796/article/details/114291319