From 0a57c777575428671b92c0b63988c15892c8d89e Mon Sep 17 00:00:00 2001 From: "zude.hzd" Date: Mon, 16 Mar 2020 16:03:01 +0800 Subject: [PATCH] add event get/set value --- .../src/builtin-setters/events-setter/index.tsx | 17 +++++++++++++---- .../plugin-settings/src/register-transducer.ts | 12 +++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) 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); } }] });