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 { 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 && (
<Menu defaultOpenKeys="sub-menu" className="event-menu" onItemClick={this.onEventMenuClick}>
{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>
))}

View File

@ -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);
}
}]
});