From 2c9bc2813051c6d34443df3657558e4fc3cf24d8 Mon Sep 17 00:00:00 2001 From: Xc Date: Tue, 21 Feb 2023 17:30:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86userRelation?= =?UTF-8?q?=E4=B8=AD=E7=9A=84listeners=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/userRelation/list/index.js | 19 +++++++++---------- src/pages/userRelation/list/index.ts | 21 +++++++++------------ 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/lib/pages/userRelation/list/index.js b/lib/pages/userRelation/list/index.js index a2e7c4e8b..b3f041b7b 100644 --- a/lib/pages/userRelation/list/index.js +++ b/lib/pages/userRelation/list/index.js @@ -138,20 +138,19 @@ exports.default = OakComponent({ ], idRemoveMp: '', }, - observers: { - 'entity,entityId': function (entity, entityId) { - if (this.state.oakFullpath && entity && entityId) { - this.refresh(); + listeners: { + 'entity,entityId': function (prev, next) { + if (this.state.oakFullpath) { + if (prev.entity !== next.entity || prev.entityId !== next.entityId) { + this.refresh(); + } } }, - relations: function (value) { - var relations = this.props.relations; - if (this.state.oakFullpath && - (value.length !== relations.length || - (0, lodash_1.difference)(value, relations).length > 0)) { + relations: function (prev, next) { + if (this.state.oakFullpath && ((0, lodash_1.difference)(prev.relations, next.relations).length > 0)) { this.refresh(); } - }, + } }, lifetimes: { ready: function () { diff --git a/src/pages/userRelation/list/index.ts b/src/pages/userRelation/list/index.ts index abf1dce6f..98593be67 100644 --- a/src/pages/userRelation/list/index.ts +++ b/src/pages/userRelation/list/index.ts @@ -135,22 +135,19 @@ export default OakComponent({ ], idRemoveMp: '', }, - observers: { - 'entity,entityId': function (entity, entityId) { - if (this.state.oakFullpath && entity && entityId) { - this.refresh(); + listeners: { + 'entity,entityId'(prev, next) { + if (this.state.oakFullpath) { + if (prev.entity !== next.entity || prev.entityId !== next.entityId) { + this.refresh(); + } } }, - relations: function (value) { - const { relations } = this.props; - if ( - this.state.oakFullpath && - (value.length !== relations.length || - difference(value, relations).length > 0) - ) { + relations(prev, next) { + if (this.state.oakFullpath && (prev.relations.length !== next.relations.length || difference(prev.relations, next.relations).length > 0)) { this.refresh(); } - }, + } }, lifetimes: { ready() {