哪问兄弟,帮帮我啊,实在不明白!data/input怎么回事。
发布于 6 年前 作者 yangzhang 14711 次浏览 来自 问答

云开发里数据库,想自己学习做一个输入条码查询商品的

片段截取,请教下大神。

/*.wxml

<input type=‘number’ maxlength=‘13’ placeholder=“请输入条码”  bindinput=“bindbarcodeInput” />

<button bindtap=‘queryData’>查询数据</button>

<text>{{datainputinfo}}</text>

<text>{{dataResult}}</text>

/*js

 Page({

   data: {

     dataResult:[],

     datainputinfo:666666,

   },

   bindbarcodeInput:function(e){

     this.setData({

       datainputinfo: e.detail.value

     })

   },

   queryData: function () {

     //  数据库就叫做d,

     var that = this;

     db.collection(‘d’).where({

       _id: that.data.datainputinfo

       }).get({

       // 找到记录集调用

       success: function (res) {

         //  将查询结果显示在页面上  

         that.setData({

           dataResult: JSON.stringify(res.data, null, 2)

         })

------------------------------

当把datainputinfo:666666时直接点  button查询数据 就出现我想要的设置好的_id:666666的数据。

但是input输入其他,哪怕再输入一次 666666 也不行,非要给datainputinfo设定一个定值如666666/888888,就可以查到_id为这个值的数据。

数据里商品名为productname,如果把改成

db.collection(‘d’).where({

       productname: that.data.datainputinfo

这时input里输入 【商品的全名】,那点查询,productname值对应的数据又可以查询出来。

-----

也就是说input输入的是 数字,就是不行,<text>{{datainputinfo}}</text>显示出赋值的数字也不行。

把查询的改成商品名,输入的是字符串,又可以。

我实在是不明白了,请大神指导!谢谢

1 回复

虽然我没有遇到过类似的问题,但我觉得,问题可能出现在“_id”上,我以前在写数据库查询语句的时候,我记得下划线是一个特殊的符合。你看看不使用这种带下划线的名字,会不会好了。

回到顶部