|
@@ -1,5 +1,5 @@
|
|
|
import React from 'react';
|
|
|
-import PropTypes from 'prop-types';
|
|
|
+import PropTypes, { instanceOf, arrayOf } from 'prop-types';
|
|
|
import { request, deepClone, util,hashToArray,validate } from 'utils';
|
|
|
import AutoField from '../Form/AutoField';
|
|
|
|
|
@@ -194,11 +194,14 @@ class BirdGridForm extends React.Component {
|
|
|
}
|
|
|
let fields = fieldOptions.map(function (field, index) {
|
|
|
let sourceKeyMap = self.state.sourceData;
|
|
|
- let sourceData = sourceKeyMap[field.key];
|
|
|
+
|
|
|
+ let sourceDataLine = undefined;
|
|
|
+ if(sourceKeyMap)
|
|
|
+ sourceDataLine = sourceKeyMap[field.key];
|
|
|
|
|
|
let col = field;
|
|
|
let data = self.props.formOption.value;
|
|
|
- if(col.source && col.source.params && col.source.params.length>0 && sourceData){
|
|
|
+ if(col.source && col.source.params && col.source.params.length>0 && sourceDataLine){
|
|
|
let pramstring = "";
|
|
|
let qurystr = "";
|
|
|
for(var param in col.source.params){
|
|
@@ -207,11 +210,12 @@ class BirdGridForm extends React.Component {
|
|
|
}
|
|
|
qurystr += col.source.params[param].key+"="+pramstring+"&";
|
|
|
}
|
|
|
- sourceData = sourceData[qurystr.replace("&","_").replace("=","-")];
|
|
|
- sourceData = hashToArray(sourceData);
|
|
|
+ sourceDataLine = sourceDataLine[qurystr.replace("&","_").replace("=","-")];
|
|
|
}
|
|
|
+ if(sourceDataLine && !sourceDataLine instanceof Array )
|
|
|
+ sourceDataLine = hashToArray(sourceDataLine);
|
|
|
|
|
|
- return <AutoField key={'auto_field_' + index} fieldOption={field} fieldData={sourceData}
|
|
|
+ return <AutoField key={'auto_field_' + index} fieldOption={field} fieldData={sourceDataLine}
|
|
|
onChange={(key, value) => {
|
|
|
self.onFieldChange(key, value)
|
|
|
}} onSearch={(key, value,that) => {
|