diff --git a/packages/plugin-settings/src/builtin-setters/events-setter/index.tsx b/packages/plugin-settings/src/builtin-setters/events-setter/index.tsx index 34e7f482d..4bda733a5 100644 --- a/packages/plugin-settings/src/builtin-setters/events-setter/index.tsx +++ b/packages/plugin-settings/src/builtin-setters/events-setter/index.tsx @@ -1,5 +1,6 @@ import { Component, isValidElement, ReactElement, ReactNode } from 'react'; import { Radio, Menu, Table, Icon, Dialog } from '@alifd/next'; +import {SettingField} from './main'; import nativeEvents from './native-events'; import './style.less'; @@ -19,7 +20,9 @@ const DEFINITION_EVENT_TYPE = { LIFE_CYCLE_EVENT: 'lifeCycleEvent', }; -export default class EventsSetter extends Component<{}> { +export default class EventsSetter extends Component<{ + field:SettingField +}> { state = { showEventList: false, eventBtns: [], @@ -34,6 +37,7 @@ export default class EventsSetter extends Component<{}> { }; componentWillMount() { + this.props.field.getValue() this.initEventBtns(); this.initEventList(); } @@ -229,14 +233,19 @@ export default class EventsSetter extends Component<{}> { }; submitDialog = (relatedEventName: String) => { - const { bindEventName } = this.state; - const { eventDataList } = this.state; + const { bindEventName,eventDataList} = this.state; + const {field} = this.props; eventDataList.map(item => { if (item.name === bindEventName) { item.relatedEventName = relatedEventName; } }); + debugger; + + field.setValue(eventDataList); + + this.closeDialog(); }; @@ -270,7 +279,7 @@ export default class EventsSetter extends Component<{}> { {selectType && selectType != EVENT_CONTENTS.NATIVE_EVENT && ( {showEventList.map((item, index) => ( - + {item.name} ))} diff --git a/packages/plugin-settings/src/register-transducer.ts b/packages/plugin-settings/src/register-transducer.ts index ebd2de72c..a4bd12693 100644 --- a/packages/plugin-settings/src/register-transducer.ts +++ b/packages/plugin-settings/src/register-transducer.ts @@ -403,11 +403,11 @@ registerMetadataTransducer((metadata) => { type: 'events', // 组件自定义的 list: [{ name:'onClick', - title:'点击回调' + description:'点击回调' }, { name:'onChange', - title:'变更回调' + description:'变更回调' }, { name:'onSubmit' @@ -415,10 +415,12 @@ registerMetadataTransducer((metadata) => { }], getValue(field: SettingField) { - return []; + let data = field.getPropValue('eventDataList'); + debugger + return data; }, - setValue(field: SettingField) { - + setValue(field: SettingField,eventDataList:Array) { + field.setPropValue('eventDataList',eventDataList); } }] });