diff --git a/HISTORY.md b/HISTORY.md
index d33d324..8351653 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,3 +1,7 @@
+## 0.4.4
+
+* `CHANGED` pass other data item to Option
+
## 0.4.0
* `CHANGED` adapt React 16
diff --git a/package.json b/package.json
index aa791e5..cf82cd9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uxcore-select-form-field",
- "version": "0.4.3",
+ "version": "0.4.4",
"description": "uxcore-select-form-field component for uxcore.",
"repository": "https://github.com/uxcore/uxcore-select-form-field.git",
"author": "eternalsky",
diff --git a/src/SelectFormField.jsx b/src/SelectFormField.jsx
index c514f3e..8934db9 100644
--- a/src/SelectFormField.jsx
+++ b/src/SelectFormField.jsx
@@ -38,9 +38,10 @@ class SelectFormField extends FormField {
constructor(props) {
super(props);
const me = this;
+ const { jsxdata } = props;
assign(me.state, {
- data: processData(props.jsxdata),
- prevPropsData: props.jsxdata,
+ data: processData(jsxdata),
+ prevPropsData: jsxdata,
});
}
@@ -131,18 +132,20 @@ class SelectFormField extends FormField {
_generateOptionsFromData() {
const me = this;
const values = me.state.data;
- const children = me.props.children;
+ const { children } = me.props;
if (!values.length) {
- // console.warn("You need to pass data to initialize Select.");
if (children) {
return children;
}
}
- const arr = values.map(item =>
- (),
- );
+ const arr = values.map((item) => {
+ const { value, text, ...others } = item;
+ return (
+
+ );
+ });
return arr;
}
@@ -152,11 +155,12 @@ class SelectFormField extends FormField {
*/
getFullData() {
const { data, value } = this.state;
- if(Array.isArray(value)) {
- return value.map(selectItem => find(data, (item) => item.value === selectItem.key));
+ if (Array.isArray(value)) {
+ return value.map(selectItem => find(data, item => item.value === selectItem.key));
}
- return find(data, (item) => item.value === value);
+ return find(data, item => item.value === value);
}
+
/**
* transfer 'a' to { key: 'a' }
* transfer ['a'] to [{ key: 'a' }]
@@ -174,7 +178,7 @@ class SelectFormField extends FormField {
return {
key: newValue,
};
- } else if (newValue instanceof Array) {
+ } if (newValue instanceof Array) {
return newValue.map((item) => {
if (typeof item === 'string') {
return {
@@ -248,9 +252,11 @@ class SelectFormField extends FormField {
}
/* eslint-disable no-underscore-dangle */
/* used in SearchFormField */
- arr.push();
+ arr.push(
+ ,
+ );
/* eslint-enable no-underscore-dangle */
} else if (mode === Constants.MODE.VIEW) {
let str = '';
@@ -281,7 +287,11 @@ class SelectFormField extends FormField {
});
}
}
- arr.push({str});
+ arr.push(
+
+ {str}
+ ,
+ );
}
return arr;
}
@@ -318,11 +328,10 @@ SelectFormField.defaultProps = assign({}, FormField.defaultProps, {
searchDelay: 100,
beforeFetch: obj => obj,
afterFetch: obj => obj,
- fitResponse: response =>
- ({
- content: response.content || response,
- success: response.success === undefined ? true : response.success,
- }),
+ fitResponse: response => ({
+ content: response.content || response,
+ success: response.success === undefined ? true : response.success,
+ }),
jsxshowSearch: true,
jsxallowClear: false,
jsxtags: false,
diff --git a/src/util.js b/src/util.js
index 5f75ce4..67ad41b 100644
--- a/src/util.js
+++ b/src/util.js
@@ -6,12 +6,10 @@ const processData = (data) => {
let values = [];
if (typeof data === 'object' && !(data instanceof Array)) {
const keys = Object.keys(data);
- values = keys.map(key =>
- ({
- value: key,
- text: data[key],
- }),
- );
+ values = keys.map(key => ({
+ value: key,
+ text: data[key],
+ }));
} else {
values = data;
}