Javascript 标记字段光标未到达当前行
我正在使用标记域,在选择了两个或三个值后,我的光标向下移动。我希望我的光标在同一行,即使有一点空间,然后键入或选择任何值,然后向下移动。谁能帮我弄到这个吗。 我还指定了具体的宽度 我的代码:Javascript 标记字段光标未到达当前行,javascript,extjs,extjs6,Javascript,Extjs,Extjs6,我正在使用标记域,在选择了两个或三个值后,我的光标向下移动。我希望我的光标在同一行,即使有一点空间,然后键入或选择任何值,然后向下移动。谁能帮我弄到这个吗。 我还指定了具体的宽度 我的代码: { xtype: Tagfield, growMax : 10, valueField: 'title', displayField: 'title', parentGrid : me, queryMode: 'local', autoLoadOnVal
{ xtype: Tagfield,
growMax : 10,
valueField: 'title',
displayField: 'title',
parentGrid : me,
queryMode: 'local',
autoLoadOnValue:true,
multiSelect: true,
isFilterDataLoaded: false,
disabled: true,
triggers: {
clear: {
weight: -30,
cls: 'button-cross',
handler: function(){
this.clearValue();
}
}
},
}
这是我的小提琴手:。
复制步骤:
1.选择三个标记。
2.对于第四个标记,光标将移动到下一行。我想游标应该在第一行 您必须根据输入的文本调整输入字段的大小。由于输入字段是一个
Ext.dom.Element
,因此必须检查它是否在所有浏览器中都有效:
listeners:{
afterrender: function(tagfield) {
var minWidth = 10, // modify here for adjustable text field width
el = Ext.getBody().createChild(),
measurer = new Ext.util.TextMetrics(el);
tagfield.inputEl.setWidth(minWidth);
tagfield.inputEl.on('keyup', function() {
var requiredWidth = measurer.getWidth(tagfield.inputEl.dom.value);
tagfield.inputEl.setWidth(requiredWidth+minWidth);
});
tagfield.on('change', function() {
var requiredWidth = measurer.getWidth(tagfield.inputEl.dom.value);
tagfield.inputEl.setWidth(requiredWidth+minWidth);
});
}
}
请在此处尝试:
我更改了ExtJS版本,因为ExtJS 6.0中的标记字段中似乎有一个错误-如果您通过键盘输入,则在选择后输入的内容不会被删除。这个答案很好,但我无法调整标记字段的大小,因为我将其用作网格列上的小部件,所以我也给出了“growMax:10”。好吧,我会尽量修改。谢谢,当我按照你的答案按照我的要求修改时,我得到了相同的答案,我的答案不是调整标签字段的大小,而是调整输入元素的大小。这是一个很大的不同。一个导致否决票的具体原因。