如何修复“ TypeError:无法读取未定义的属性”项”

时间:2019-04-23 01:34:59

标签: database filter repeater wixcode

由于过滤的中继器上的结果,我试图显示数据库中的参考字段。我不确定如何正确编码页面以实现此目的。

在测试我的代码时,这是开发者控制台中显示的内容:

Loading the code for the SEARCH WITH VIN page. To debug this code, open i5zkm.js in Developer Tools.
Url: https://vpic.nhtsa.dot.gov/api/vehicles/decodevin/19UUA96299A543965/?format=jsonVINModule.jsw
Line 5{...}
SEARCH WITH VIN
Line 14{...}
VINModule.jsw
Line 12
Dataset is now filtered
SEARCH WITH VIN
Line 22
TypeError: Cannot read property 'items' of undefined
import {getVINInfo} from 'backend/VINModule';
import {wixData} from 'wix-data';


$w.onReady(function () {
 //TO DO: Write Your Page Related Code Here:
    }); 

export function button1_click(event, $w) {
 //Add your code for this event here:
    getVINInfo($w("#vininput").value)
        .then(VINInfo => {
            console.log(VINInfo)
                      $w("#results").text = VINInfo.Results[8].Value + "  " + VINInfo.Results[5].Value + "  " + VINInfo.Results[7].Value;
                      $w("#dataset1").setFilter(wixData.filter()
                      .eq("year", VINInfo.Results[8].Value)
                      .eq("make", VINInfo.Results[5].Value)
                      .eq("year", VINInfo.Results[7].Value))

                      .then((results) =>{
                          console.log("Dataset is now filtered");
                          $w("#repeater1").data = results.items;
 let items = "title"

                      }) 
                          .catch((err) => {
                          console.log(err);
        });
        $w("#repeater1").expand();
        })
}

我希望转发器显示数据库中的title字段,但转发器中的元素没有任何反应,并且在预览页面时在开发人员控制台中收到以下消息:TypeError:无法读取未定义的属性“ items”。 / p>

1 个答案:

答案 0 :(得分:0)

dataset setFilter()返回带有空值的promise,因此您不能仅从返回的promise访问数据集项。 如果转发器尚未绑定到数据集,则应使用getItems():

$w("#myDataset").getItems()
  .then( (result) => {
      $w("#repeater1").data = results.items
})