子组件如何使用父组件通过props传递过来的数据

795 阅读1分钟

父组件 向 子组件 单向传递数据,可以使用props属性来实现。

父组件:


<DialogFound :dialog='dialog' :form='formDate' @update="getProfile"></DialogFound>

  data() {
    return {
      dialog: {
        show: false,
        title: "",
        option: "edit"
      },
      formDate: {
        type: "",
        describe: "",
        id: ""
      },
    };
  },

子组件:

 <el-dialog   :title="dialog.title"   :visible.sync="dialog.show">
         <div class="form">
              <el-form ref="form" :model="form">
              </el-form>
         </div>
             
props: {
    dialog: Object,
    form: Object
  },

子组件直接拿到父组件传过来的数据,不建议直接使用。可能会出现报错。

我在提交表单后,把表单清空,就出现了问题,表单不能清空。

解决方案:

1、在子组件data函数里面,用一个变量接收 父组件传递过来的数据,在子组件使用那个变量,就可以解决。

    childform:this.form,

2、使用计算属性,来处理传递过来的数据