add event get/set value

This commit is contained in:
zude.hzd 2020-03-16 16:03:01 +08:00
parent 573f91507c
commit 0a57c77757
2 changed files with 20 additions and 9 deletions

View File

@ -1,5 +1,6 @@
import { Component, isValidElement, ReactElement, ReactNode } from 'react'; import { Component, isValidElement, ReactElement, ReactNode } from 'react';
import { Radio, Menu, Table, Icon, Dialog } from '@alifd/next'; import { Radio, Menu, Table, Icon, Dialog } from '@alifd/next';
import {SettingField} from './main';
import nativeEvents from './native-events'; import nativeEvents from './native-events';
import './style.less'; import './style.less';
@ -19,7 +20,9 @@ const DEFINITION_EVENT_TYPE = {
LIFE_CYCLE_EVENT: 'lifeCycleEvent', LIFE_CYCLE_EVENT: 'lifeCycleEvent',
}; };
export default class EventsSetter extends Component<{}> { export default class EventsSetter extends Component<{
field:SettingField
}> {
state = { state = {
showEventList: false, showEventList: false,
eventBtns: [], eventBtns: [],
@ -34,6 +37,7 @@ export default class EventsSetter extends Component<{}> {
}; };
componentWillMount() { componentWillMount() {
this.props.field.getValue()
this.initEventBtns(); this.initEventBtns();
this.initEventList(); this.initEventList();
} }
@ -229,14 +233,19 @@ export default class EventsSetter extends Component<{}> {
}; };
submitDialog = (relatedEventName: String) => { submitDialog = (relatedEventName: String) => {
const { bindEventName } = this.state; const { bindEventName,eventDataList} = this.state;
const { eventDataList } = this.state; const {field} = this.props;
eventDataList.map(item => { eventDataList.map(item => {
if (item.name === bindEventName) { if (item.name === bindEventName) {
item.relatedEventName = relatedEventName; item.relatedEventName = relatedEventName;
} }
}); });
debugger;
field.setValue(eventDataList);
this.closeDialog(); this.closeDialog();
}; };
@ -270,7 +279,7 @@ export default class EventsSetter extends Component<{}> {
{selectType && selectType != EVENT_CONTENTS.NATIVE_EVENT && ( {selectType && selectType != EVENT_CONTENTS.NATIVE_EVENT && (
<Menu defaultOpenKeys="sub-menu" className="event-menu" onItemClick={this.onEventMenuClick}> <Menu defaultOpenKeys="sub-menu" className="event-menu" onItemClick={this.onEventMenuClick}>
{showEventList.map((item, index) => ( {showEventList.map((item, index) => (
<Item key={item.name} helper={item.title} disabled={item.disabled}> <Item key={item.name} helper={item.description} disabled={item.disabled}>
{item.name} {item.name}
</Item> </Item>
))} ))}

View File

@ -403,11 +403,11 @@ registerMetadataTransducer((metadata) => {
type: 'events', // 组件自定义的 type: 'events', // 组件自定义的
list: [{ list: [{
name:'onClick', name:'onClick',
title:'点击回调' description:'点击回调'
}, },
{ {
name:'onChange', name:'onChange',
title:'变更回调' description:'变更回调'
}, },
{ {
name:'onSubmit' name:'onSubmit'
@ -415,10 +415,12 @@ registerMetadataTransducer((metadata) => {
}], }],
getValue(field: SettingField) { getValue(field: SettingField) {
return []; let data = field.getPropValue('eventDataList');
debugger
return data;
}, },
setValue(field: SettingField) { setValue(field: SettingField,eventDataList:Array) {
field.setPropValue('eventDataList',eventDataList);
} }
}] }]
}); });