Как войти в обработчик onSubmit внутри FormPanel в ExtReact? - PullRequest
0 голосов
/ 27 апреля 2018

Итак, я просто хочу выполнить событие onSubmit для FormPanel в ExtReact. Но я не могу даже console.log внутри встроенной функции onSubmit, то есть onSubmit никогда не выполняется. Есть идеи?

Это наиболее важные части кода:

  1. FormPanelComponent:
import React from 'react';
import ItemGroupModel from './ItemGroupModel';
import { FormPanel, TextField, Button } from '@extjs/ext-react';


class FormPanelComponent extends React.Component {

    render(){
        return(
            <FormPanel 
            record={ItemGroupModel} 
            standardSubmit = {true} 
            onSubmit={function(formPanel, result, e, eOpts){
                console.log("Hello"); //Nothing is console.logged
                console.log(formPanel), //Nothing is console.logged
                console.log(result), //Nothing is console.logged
                console.log(e);//Nothing is console.logged
                console.log(eOpts); //Nothing is console.logged
            }}>
                <TextField name="description" label="Description: " labelAlign= "top" />
                <TextField name="name" label="Name: " labelAlign="top" />
                <Button text="Submit"/>
            </FormPanel>
        )
    }
}

export default FormPanelComponent;
  1. Моя ItemGroupModel:
export default Ext.define("ExtReactModels.model.ItemGroup", {
  extend: 'Ext.data.Model',
  idProperty: 'itemGroupId',
  fields: [
    {name: 'itemGroupId', type: 'int'},
    {name: 'name', type: 'string'},
    {name: 'description', type: 'string'},
    {name: 'audit', type: 'int'},
    {name: 'status', type: 'string'},
    {name: 'iconCls', type: 'string'}
  ],
  proxy: new Ext.data.proxy.Ajax({
    api: {
      create: '/itemGroup/insert',
      update: '/itemGroup/update',
      read: '/itemGroup/listAll',
      delete: '/itemGroup/delete'
    },
    actionMethods: {create: 'POST', read: 'POST', update: 'POST', destroy: 'POST'}
  })
});

1 Ответ

0 голосов
/ 27 апреля 2018
class FormPanelComponent extends React.Component {

submit = (ormPanel, result, e, eOpts) => console.log(ormPanel, result, e, eOpts)

render(){
    return(
        <FormPanel 
        record={ItemGroupModel} 
        standardSubmit = {true} 
        onSubmit={(formPanel, result, e, eOpts) => this.submit(formPanel, result, e, eOpts)}>
            <TextField name="description" label="Description: " labelAlign= "top" />
            <TextField name="name" label="Name: " labelAlign="top" />
            <Button text="Submit"/>
        </FormPanel>
    )
}
...