this.setData()

WXML

<view class="search-form">
    <view class="search-form__box">
        <icon type="search" class="search-form__box-icon" size="20"></icon>
        <input type="text" class="search-form__box-input"  placeholder="搜索" bindconfirm="searchConfirm" bindinput="searchInput" focus="{{ focus }}" value="{{ keyword }}"></input>
    </view>
</view>

JS

var app = getApp();

Page({
    data: {
        keyword: '',
        focus: false,
        confirm: false,
        page: 1,
        scrollTop: 0,
        products: []
    },
    onLoad: function(option) {
        this.setData({
            keyword: option.keyword
        })

    },
    searchInput: (e) => {
        var value = e.detail.value;

        this.setData({
            confirm: (value ? true : false)
        });
    
    }
})

ERROR

thirdScriptError
Cannot read property 'setData' of undefined;at "pages/search/index" page searchInput function
TypeError: Cannot read property 'setData' of undefined

以前没问题 现在开发者工具更新后一直报错!! /:>

阅读 9.5k
2 个回答

show(data) {

    let self = this;
    console.log("show(data)")
    self.page.setData({ 'isHide': true, 'content': data });
    setTimeout(function () {
        self.page.setData({ 'isHide': false })
    }, 2000)
}


self就没事了
searchInput: function(e){
    var value = e.detail.value;
    this.setData({
        confirm: (value ? true : false)
    });
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题