gpt4 book ai didi

javascript - 将建议值从 ext Combobox 渲染到 DOM 中的元素

转载 作者:行者123 更新时间:2023-11-29 22:43:58 26 4
gpt4 key购买 nike

我有一个 ext 组合框,它使用商店在用户键入时向其建议值。

可以在这里找到一个例子:combobox example

有没有一种方法可以将建议的文本列表 呈现给DOM 中的元素。请注意,我指的不是“applyTo”配置选项,因为这会呈现整个控件,包括 DOM 元素的文本框。

最佳答案

您可以为此使用插件,因为您可以从插件中调用甚至覆盖私有(private)方法:

var suggested_text_plugin = {

init: function(o) {

o.onTypeAhead = function() {
// Original code from the sources goes here:

if(this.store.getCount() > 0){
var r = this.store.getAt(0);
var newValue = r.data[this.displayField];
var len = newValue.length;
var selStart = this.getRawValue().length;
if(selStart != len){
this.setRawValue(newValue);
this.selectText(selStart, newValue.length);
}
}

// Your code to display newValue in DOM
......myDom.getEl().update(newValue);
};
}
};


// in combobox code:

var cb = new Ext.form.ComboBox({
....
plugins: suggested_text_plugin,
....
});

我认为甚至可以创建一个完整的方法链,在你的方法之前或之后调用原始方法,但我还没有尝试过。

此外,请不要强制我使用非标准的插件定义和调用方法(未记录)。这只是我看待事物的方式。

编辑:

我认为方法链可以这样实现(未经测试):

....
o.origTypeAhead = new Function(this.onTypeAhead.toSource());
// or just
o.origTypeAhead = this.onTypeAhead;
....

o.onTypeAhead = function() {
// Call original
this.origTypeAhead();
// Display value into your DOM element
...myDom....
};

关于javascript - 将建议值从 ext Combobox 渲染到 DOM 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com