From b9aea261b017c97c77f9045e8cb5b171221bd99d Mon Sep 17 00:00:00 2001 From: "zude.hzd" Date: Sun, 16 Aug 2020 13:44:24 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=A7=BB=E9=99=A4=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/events-setter/index.tsx | 41 ++++++++++--------- .../src/transducers/addon-combine.ts | 7 +++- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/packages/editor-setters/src/events-setter/index.tsx b/packages/editor-setters/src/events-setter/index.tsx index 6f364cdfe..de20c52d5 100644 --- a/packages/editor-setters/src/events-setter/index.tsx +++ b/packages/editor-setters/src/events-setter/index.tsx @@ -29,30 +29,31 @@ export default class EventsSetter extends Component<{ selectType: null, nativeEventList: [], lifeCycleEventList: [], - eventDataList: this.props.value || [], + eventDataList: (this.props.value.eventDataList?this.props.value.eventDataList:this.props.value) || [], relatedEventName: '', }; // constructor (){ // super(); // debugger; - // if (!this.props || !this.props.value){ - // this.setState({ - // eventDataList:[] - // }) - // } + // // if (!this.props || !this.props.value){ + // // this.setState({ + // // eventDataList:[] + // // }) + // // } // } - static getDerivedStateFromProps(nextProps, prevState) { - // const { value } = nextProps; - // debugger; - // if (value !== prevState.eventDataList) { - // return { - // value, - // }; - // } - return null; - } + // static getDerivedStateFromProps(nextProps, prevState) { + // debugger; + // // const { value } = nextProps; + // // debugger; + // // if (value !== prevState.eventDataList) { + // // return { + // // value, + // // }; + // // } + // return null; + // } private bindEventName:String; @@ -310,7 +311,7 @@ export default class EventsSetter extends Component<{ }; deleteEvent = (eventName: String) => { - const { eventDataList } = this.state; + const { eventDataList,eventList} = this.state; eventDataList.map((item, index) => { if (item.name === eventName) { eventDataList.splice(index, 1); @@ -320,7 +321,7 @@ export default class EventsSetter extends Component<{ this.setState({ eventDataList, }); - + this.props.onChange({eventDataList,eventList}); this.updateEventListStatus(eventName, true); }; @@ -332,7 +333,7 @@ export default class EventsSetter extends Component<{ bindEvent = (relatedEventName: String) => { - const {eventDataList} = this.state; + const {eventDataList,eventList} = this.state; eventDataList.map(item => { if (item.name === this.bindEventName) { item.relatedEventName = relatedEventName; @@ -344,7 +345,7 @@ export default class EventsSetter extends Component<{ }) - this.props.onChange(eventDataList); + this.props.onChange({eventDataList,eventList}); //this.closeDialog(); }; diff --git a/packages/editor-skeleton/src/transducers/addon-combine.ts b/packages/editor-skeleton/src/transducers/addon-combine.ts index ea8718b56..678861296 100644 --- a/packages/editor-skeleton/src/transducers/addon-combine.ts +++ b/packages/editor-skeleton/src/transducers/addon-combine.ts @@ -206,7 +206,12 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp return val; }, - setValue(field: SettingTarget, eventDataList: any[]) { + setValue(field: SettingTarget, eventData) { + const {eventDataList,eventList} = eventData; + eventList.map((item)=>{ + field.parent.clearPropValue(item.name); + return item; + }) eventDataList.map((item) => { field.parent.setPropValue(item.name, { type: 'JSFunction',