mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-11 02:16:03 +00:00
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
import { useState, useMemo } from 'react';
|
|
import Field from '@alifd/field';
|
|
|
|
import { log } from '../util';
|
|
import { scrollToFirstError, cloneAndAddKey } from './utils';
|
|
|
|
class NextField extends Field {
|
|
static useField(options = {}) {
|
|
if (!useState || !useMemo) {
|
|
log.warning('need react version > 16.8.0');
|
|
return;
|
|
}
|
|
return this.getUseField({ useMemo, useState })(options);
|
|
}
|
|
|
|
constructor(com, options = {}) {
|
|
const newOptions = Object.assign({}, options, {
|
|
afterValidateRerender: scrollToFirstError,
|
|
processErrorMessage: cloneAndAddKey,
|
|
});
|
|
super(com, newOptions);
|
|
|
|
this.validate = this.validate.bind(this);
|
|
}
|
|
|
|
validate(ns, cb) {
|
|
this.validateCallback(ns, cb);
|
|
}
|
|
|
|
reset(ns, backToDefault = false) {
|
|
if (ns === true) {
|
|
log.deprecated('reset(true)', 'resetToDefault()', 'Field');
|
|
this.resetToDefault();
|
|
} else if (backToDefault === true) {
|
|
log.deprecated('reset(ns,true)', 'resetToDefault(ns)', 'Field');
|
|
this.resetToDefault(ns);
|
|
} else {
|
|
this._reset(ns, false);
|
|
}
|
|
}
|
|
}
|
|
|
|
export default NextField;
|