实现一个输入框,当输入框中内容的长度大于10后,自动把当前内容上传到数据库,并自动清空输入框。

实现一个输入框,当输入框中内容的长度大于10后,自动把当前内容上传到数据库,并自动清空输入框。

注意,本题目应使用云函数完成数据的上传功能。

env: 'as-7g1dqbrma69ca4c1',替换为你自己的,代码是好用的,创建模版是使用“小程序云服务”另外函数需要发布

// app.js
App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力');
    } else {
      wx.cloud.init({
        // env 参数说明:
        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境(第一个创建的环境)
        env: 'as-7g1dqbrma69ca4c1',
        traceUser: true,
      });
    }

    this.globalData = {};
  }
});
// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  const {
    desc
  } = event;
  if (desc != null && desc.length > 10) {
    cloud.database().collection('result').add({
      data: {
        desc
      }
    })
  }
  return {
    success: true,
  }
}
// pages/lengthGt10AndSave/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    desc: null,
  },
  onDescInput(e) {
    const desc = e.detail.value
    wx.cloud.callFunction({
      name: 'lengthGt10AndSave',
      data: {
        desc
      }
    })
    this.setData({
      desc: desc != null && desc.length > 10 ? '' : desc
    })
  }
})
<!--pages/lengthGt10AndSave/index.wxml-->
<input  class="input" bindinput="onDescInput" value="{{desc}}" placeholder="请输入内容" />
/* pages/lengthGt10AndSave/index.wxss */
.input{
  border: green 1px solid;
}

好家伙,北邮的是吧

监听文本框的keypress事件。然后判断当前文本框的value字数,符合上传清空,不符合就忽略