微信小程序笔记 表单用自定义的input组件(把input写入组件中)

参考了这篇文章

示例:
一、自定义组件:myInput
myInput.wxml:

<input placeholder="{{myPlaceHolder}}" bindinput="getInputValue"></input>

myInput.wxss:

input{
  border: 1px solid #000;
}

myInput.js:

Component({
  behaviors: ['wx://form-field'], //必须要写
  properties: {
    myPlaceHolder:{
      type:String,
      value:""
    }
  },

  data: {

  },

  methods: {
    getInputValue: function(res) { //必须要写
      this.setData({
        value: res.detail.value
      })
    }
  }
})

二、表单使用自定义组件myInput
wxml:

<form bindsubmit="submitData">
  <myInput name="buyerID" myPlaceHolder="请输入买家id"></myInput>
  <myInput name="buyerPhone" myPlaceHolder="请输入买家电话"></myInput>
  <myInput name="buyerName" myPlaceHolder="请输入买家名称"></myInput>

  <button type="primary" form-type="submit">提交数据</button>
  <button type="primary" form-type="reset">清空</button>
</form>

要注意,不用在自定义组件myInput里定义name属性,直接在使用myInput的时候添加上name属性。

wxss:

page{
  padding: 10rpx;
  box-sizing: border-box;
}

js:

const db = wx.cloud.database()

Page({
  data: {
    
  },

  // 提交数据
  submitData:function(res){
    console.log(res)
  }
})

json:

{
  "usingComponents": {
    "myInput":"../../components/myInput/myInput"
  }
}

前端效果图:
在这里插入图片描述
提交数据:
在这里插入图片描述
后端运行结果:
在这里插入图片描述
返回的res.detail.value中就有刚刚提交的数据了。

但如果表单用自定义的button组件(把button写入组件中),好像不能提交:来源
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值