更改组件方法的实现的正确方法?

问题描述 投票:0回答:1

我正在使用 https://github.com/fmoo/react-typeahead 来对某些文本进行自动完成。我想改变它的行为,以便它立即显示结果(遵守它的 maxVisible 属性)。我很确定我所要做的就是向 getOptionsForValue 方法添加几行代码,但我不知道如何扩展组件来做到这一点。

我听说使用 ES6 风格的 Javascript 可能会有一些希望,所以我尝试了这个:

class CustomTypeahead extends TypeAhead {
    getOptionsForValue(value, options) {
        var result = [];
        if (value === '') {
            result = options;
        } else {
            result = fuzzy.filter(value, options).map(function(res) {
                return res.string;
            });
        }
        if (this.props.maxVisible) {
            result = result.slice(0, this.props.maxVisible);
        }
        return result;
    }
}

但是当在 TypeAhead 内部调用该方法(使用 React.createClass 定义)时,我的自定义方法不会被调用。

javascript reactjs ecmascript-6
1个回答
0
投票

您需要导出 CustomTypeahead 类。

© www.soinside.com 2019 - 2024. All rights reserved.