WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2021-07-09 d270af0a5ae30d20da42fccb0b33dd023bec3eac
调整页面间通讯组件细节
2 files modified
21 ■■■■ changed files
common/PagePoster.js 6 ●●●●● patch | view | raw | blame | history
forms/select/CSelect.vue 15 ●●●●● patch | view | raw | blame | history
common/PagePoster.js
@@ -34,9 +34,15 @@
            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() {
forms/select/CSelect.vue
@@ -111,18 +111,21 @@
            } 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 });
        },
    },
};