feat: add mixin for form.
parent
ebab3c4199
commit
7ca132eca8
@ -0,0 +1,32 @@
|
||||
function merge() {
|
||||
const ret = {};
|
||||
const args = [].slice.call(arguments, 0);
|
||||
args.forEach((a)=> {
|
||||
Object.keys(a).forEach((k)=> {
|
||||
ret[k] = a[k];
|
||||
});
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
|
||||
const ValueMixin = {
|
||||
setValue(field, e) {
|
||||
let v = e;
|
||||
const target = e && e.target;
|
||||
if (target) {
|
||||
if ((target.nodeName + '').toLowerCase() === 'input' &&
|
||||
target.type === 'checkbox') {
|
||||
v = target.checked;
|
||||
} else {
|
||||
v = e.target.value;
|
||||
}
|
||||
}
|
||||
const newFormData = {};
|
||||
newFormData[field] = v;
|
||||
this.setState({
|
||||
formData: merge(this.state.formData, newFormData),
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default ValueMixin;
|
Loading…
Reference in New Issue