fix 移除事件绑定的bug

This commit is contained in:
zude.hzd 2020-08-16 13:44:24 +08:00
parent 7d041d9857
commit b9aea261b0
2 changed files with 27 additions and 21 deletions

View File

@ -29,30 +29,31 @@ export default class EventsSetter extends Component<{
selectType: null, selectType: null,
nativeEventList: [], nativeEventList: [],
lifeCycleEventList: [], lifeCycleEventList: [],
eventDataList: this.props.value || [], eventDataList: (this.props.value.eventDataList?this.props.value.eventDataList:this.props.value) || [],
relatedEventName: '', relatedEventName: '',
}; };
// constructor (){ // constructor (){
// super(); // super();
// debugger; // debugger;
// if (!this.props || !this.props.value){ // // if (!this.props || !this.props.value){
// this.setState({ // // this.setState({
// eventDataList:[] // // eventDataList:[]
// }) // // })
// } // // }
// } // }
static getDerivedStateFromProps(nextProps, prevState) { // static getDerivedStateFromProps(nextProps, prevState) {
// const { value } = nextProps; // debugger;
// debugger; // // const { value } = nextProps;
// if (value !== prevState.eventDataList) { // // debugger;
// return { // // if (value !== prevState.eventDataList) {
// value, // // return {
// }; // // value,
// } // // };
return null; // // }
} // return null;
// }
private bindEventName:String; private bindEventName:String;
@ -310,7 +311,7 @@ export default class EventsSetter extends Component<{
}; };
deleteEvent = (eventName: String) => { deleteEvent = (eventName: String) => {
const { eventDataList } = this.state; const { eventDataList,eventList} = this.state;
eventDataList.map((item, index) => { eventDataList.map((item, index) => {
if (item.name === eventName) { if (item.name === eventName) {
eventDataList.splice(index, 1); eventDataList.splice(index, 1);
@ -320,7 +321,7 @@ export default class EventsSetter extends Component<{
this.setState({ this.setState({
eventDataList, eventDataList,
}); });
this.props.onChange({eventDataList,eventList});
this.updateEventListStatus(eventName, true); this.updateEventListStatus(eventName, true);
}; };
@ -332,7 +333,7 @@ export default class EventsSetter extends Component<{
bindEvent = (relatedEventName: String) => { bindEvent = (relatedEventName: String) => {
const {eventDataList} = this.state; const {eventDataList,eventList} = this.state;
eventDataList.map(item => { eventDataList.map(item => {
if (item.name === this.bindEventName) { if (item.name === this.bindEventName) {
item.relatedEventName = relatedEventName; item.relatedEventName = relatedEventName;
@ -344,7 +345,7 @@ export default class EventsSetter extends Component<{
}) })
this.props.onChange(eventDataList); this.props.onChange({eventDataList,eventList});
//this.closeDialog(); //this.closeDialog();
}; };

View File

@ -206,7 +206,12 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp
return val; 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) => { eventDataList.map((item) => {
field.parent.setPropValue(item.name, { field.parent.setPropValue(item.name, {
type: 'JSFunction', type: 'JSFunction',