微信小程序在form组件提交时,拿自定义input组件的值

form表单:

表单

自定义input组件:

  
  
    
    
  

自定义input组件js文件:

提示:behaviors的功能相当于组件之间公用代码,里面有公用的属性、方法。可以把behavior当做构造函数,别的组件能使用这个behavior的方法和数据。

Component({
  behaviors: ['wx://form-field'], //wx://form-field 代表一个内置 behavior ,它使得这个自定义组件有类似于表单控件的行为。
  properties: {
    // value:{  //其实要在自定义input组件中设置固定(默认)值,可以直接在properties中设置,不用在attached中调用setData设置
    //   type: String,
    //   value: '1' // 默认值为 1
    // }
  },
  attached() {
    // this.setData({
    //   value: '官网给出的例子:在attached生命周期设置的value值是固定的,所以我在input失去焦点时,设置value值'
    // })
  },
  methods:{
    getInputValue (e) {
      this.setData({
        value: e.detail.value // behaviors: ['wx://form-field']里面就有设置value属性,所以我们可以直接拿来设置value
      })
    }
  }
})

效果:

              

代码:

https://pan.baidu.com/s/1zOevIeELEb1hxSpULnIgqw  (这个例子中之前使用了 input的 bindblur失去焦点事件, 需要改成bindinput 事件) 提取码:e31z

 

你可能感兴趣的:(微信小程序)