收藏
回答

表单组件(如input)输入的值获得后,在js文件的函数中不能调用

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 表单组件 工具 v1.02.1902010 2.2.5

- 需求的场景描述(希望解决的问题)

一.表单组件(如input)输入的值在WXML文件中可见能渲染显示,而在js文件的函数中不能调用(不可见,见下图输入D1的场景)。

    var that = this

    const cldh =wx.getStorage({

      key: 'cldh',

      success: function(res) {

        that.setData({

          cldh: res.data

        })

      }

    })

希望这里获得的cldh变量值js文件的函数中能调用(可见)


. 这个得到cldh变量值,可以在云数据库调用函数中使用如下:

//getclkx为云函数名称

    wx.cloud.init()

    wx.cloud.callFunction({

      name: "getclkx",

      data: {

        cldh: cldh, //这里cldh需要获得具体的值,而没有值,所以条件查询失效。如果改写成cldh:"D1"就能得到含有D1的记录

      },

      complete: res => {

        this.setData({

          clkxData: res.result.data,//条件查询后获得的数据库记录。

        })

      }

    })

 

. 我的云数据库代码如下:

1.// 云函数入口文件

2.const cloud = require('wx-server-sdk')

3.cloud.init()

4.const db =cloud.database()

5.const cldh = db.command

6.// 云函数入口函数

7.exports.main = async(event, context)=> {

8. let data = {

9.    cldh: event.cldh,

10.  }

11.//clkx是我的数据库名称

12.  returnawait db.collection("clkx").limit(50).where({

13.    cldh: event.cldh,

14.  }).get({})

15.}

 

- 希望提供的能力

希望这里获得的cldh变量值js文件的函数中能调用(可见)


这是我写第一个微信小程序踩的较大的坑,在网上查阅了很多文章也没有解决,所以在此麻烦你们,希望组件获得的cldh变量值js文件的函数中能调用(可见)。由于我是初学微信小程序,可能提的问题较幼稚,请勿见笑。谢谢。

回答关注问题邀请回答
收藏

1 个回答

  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-04-09

    你好,麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-04-09
    有用
    回复 5
    • 2019-04-09

      怎样提供给你

      2019-04-09
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-04-10回复

      可以按照教程指引来生成代码片段,然后再分享代码片段的链接哈

      2019-04-10
      1
      回复
    • 2019-04-13回复疯狂的小辣椒

      娇华你好:由于网络故障,申报后需要换猫所以断网了3天,今天才看到你早就热情的帮助回复,谢谢你的指点。

      以下是分享代码片段的链接,不知做的对不对,请继续帮助,谢谢。

      https://developers.weixin.qq.com/s/o5K0nAmR7U7I

      2019-04-13
      回复
    • 是小白啊
      是小白啊
      2019-04-15回复

      没看明白你要实现什么?

      2019-04-15
      1
      回复
    • 2019-04-16回复是小白啊

      那个很帅的小白,你好!

      按照你的指点我已经使 res.data.toUpperCase() == that.data.cldh 为真而得到打印 E.OK。十分感谢你的指点。



      但是我真正的意图不是为了打印 E.OK。而是想让cldh变量在JS文件中有值(可见),然后用它传递的调用云函数数据库的方法(函数)中,作为条件查询云数据库。我的意思不知道表达清楚没有,请大家继续帮助我。




      2019-04-16
      回复
登录 后发表内容