我正在使用一个组件:- https://github.com/christianalfoni/formsy-react,用于创建表单。我正在尝试创建我自己的输入组件之一。所以如前所述,我需要使用formy的mixin。但不幸的是,在 es6 风格中不支持它。所以任何人都知道的任何工作。
这是我的组件代码:-
import Formsy from 'formsy-react';
class DropDownAutoComplete extends React.Component {
constructor(props, context) {
super(props, context);
this.mixins = [Formsy.Mixin];
}
changeValue(event) {
this.mixins[0].setValue(event.currentTarget.value);
}
handleValue1Change(value) {
this.setState({value: value});
}
render() {
const className = this.mixins[0].showRequired() ? 'required' : this.mixins[0].showError() ? 'error' : null;
// An error message is returned ONLY if the component is invalid
// or the server has returned an error message
const errorMessage = this.mixins[0].getErrorMessage();
return <DropdownList
data={this.props.dropDownConfigs.value}
onChange={this.changeValue.bind(this)}
textField={this.props.dropDownConfigs.name}
caseSensitive={false}
filter='contains'>
</DropdownList>
}
}
它在调用 showRequired 函数的地方抛出错误。显然它的实现使用了一些状态变量,比如 required 。