| | |
| | | id: guid, |
| | | events: new Taro.Events(), |
| | | on(name, callback) { |
| | | if (!this.events) { |
| | | return; |
| | | } |
| | | this.events.on(name, callback); |
| | | }, |
| | | emit(name, data) { |
| | | if (!this.events) { |
| | | return; |
| | | } |
| | | this.events.trigger(name, data); |
| | | }, |
| | | destroy() { |
| | |
| | | } else { |
| | | url += '?mode=CSelect'; |
| | | } |
| | | const eventor = $pagePoster.createEventor(); |
| | | eventor.on('@linked', () => { |
| | | eventor.emit('lastValue', this.choose.value); |
| | | if (this._eventor) { |
| | | // 销毁上次事件收发器 |
| | | this._eventor.destroy(); |
| | | } |
| | | this._eventor = $pagePoster.createEventor(); |
| | | this._eventor.on('@linked', () => { |
| | | this._eventor.emit('lastValue', this.choose.value); |
| | | }); |
| | | eventor.on('selected', data => { |
| | | this._eventor.on('selected', data => { |
| | | this.choose.name = data.name; |
| | | this.choose.value = data.value; |
| | | this.itemRes.onChange(data.value); |
| | | this.onSelectFromPage && this.onSelectFromPage(data.value); |
| | | eventor.destroy(); |
| | | }); |
| | | Taro.navigateTo({ url: url + '&eventorId=' + eventor.id }); |
| | | Taro.navigateTo({ url: url + '&eventorId=' + this._eventor.id }); |
| | | }, |
| | | }, |
| | | }; |