侯凯华
侯凯华
  • 发布:2018-04-19 11:51
  • 更新:2018-04-21 18:32
  • 阅读:6275

父组件怎样调用子组件的方法?

分类:uni-app

父组件怎样调用子组件的方法?

就是一个自定义的密码支付框

input 有没有像 vue里的 v-mode?

密码框的值怎样清空?
我尝试了两种方法,都不行
pay-box.nml

        hide: function() {  
            this.showFlag = false;  
            this.password = '';  
        }
         hide: function() {  
            this.showFlag = false;  
            this.password = '';  
                this.$element("pay_password").attr.value = '';  
        }

没有用,但是密码框内还有密码的黑点,也就是值好像还在

有没有双向绑定的东西?

2018-04-19 11:51 负责人:无 分享
已邀请:

最佳回复

Trust

Trust - 少说废话

请上传一个示例demo,补充描述具体的需求。

通过公共方法 $child() 获取子组件对象,即可完成后续操作。

参考文档:页面与组件 -> 公共方法 文档

将附件中的代码做简单修改即可,index.nml 内容如下:

<import name="pay-box" src="./pay-box"></import>  
<template>  
  <div>  
    <input type="button" value="立即购买" class="grade-top-btn" onclick="openPayBox" />  
    <pay-box id="pay-box"></pay-box>  
  </div>  
</template>
module.exports = {  
  data: {  
    password: ''  
  },  
  onInit() {  
    this.$on('sub', this.subEvent);  
  },  
  openPayBox: function () {  
    this.$child('pay-box').showFlag = true;  
  },  
  subEvent: function (event) {  
    this.password = event.detail.password;  
  }  
}

pay-box.nml

change: function (event) {  
  this.password = event.value;  
},  
confirm: function () {  
  this.hide();  
  this.$dispatch('sub', {  
    password: this.password  
  });  
}

其实可以不用传参这么麻烦,修改了子组件的某个属性后,可以直接在父组件读取到子组件对象,进而读取到子组件的属性值。

  • 侯凯华 (作者)

    不是快应用,是uniapp

    2018-04-19 12:00

  • Trust

    回复 侯凯华:请上传一个示例demo,补充描述具体的需求。

    2018-04-19 12:32

  • 侯凯华 (作者)

    已上传,求指点

    2018-04-19 14:03

  • Trust

    回复 侯凯华:已更新

    2018-04-19 14:47

  • 侯凯华 (作者)

    这个我找到了,还有就是密码框的值怎样提交,取消,确定按钮的事件触发怎样传回父组件?

    2018-04-19 14:53

  • Trust

    回复 侯凯华:参考上面的代码实现

    2018-04-19 16:07

  • 侯凯华 (作者)

    谢谢,传参解决了,还有一个问题就是,密码框的值如何获取,如何清空?

    2018-04-19 18:23

  • Trust

    回复 侯凯华:上面示例里面有,event.value。

    2018-04-19 18:37

  • 侯凯华 (作者)

    谢谢,在隐藏时,我想清空文本框我将其赋值为空,但是再次打开时,密码框内还有值,怎么回事?

    2018-04-20 18:16

  • xuanyuan95

    没有看到页面组件->公共文档,你发的链接打开是404,请问文档在哪里能看到?

    2019-05-02 11:07

  • xuanyuan95

    回复 Trust:

    没有看到页面组件->公共文档,你发的链接打开是404,请问文档在哪里能看到?

    2019-05-02 11:09

侯凯华

侯凯华 (作者)

input组件,password内的值怎样清空???

该问题目前已经被锁定, 无法添加新回复