我正在设置自动完成列表,而且我一直试图找出每个属性的作用。有关此对象的更多文档吗?
这就是我所拥有的东西:
public class AutoCompleteObject {
public function AutoCompleteObject(name:String = null, metadata:String = null) {
this.value = name;
meta = metadata;
}
/**
* Value written upon auto completion
*
* @see #caption
* */
public var value:String;
/**
* The caption is what is shown in the auto completion list as you type the value
*
* @see #value
* */
public var caption:String;
/**
* The score is a reason unknown
* */
public var score:String;
/**
* What is shown to the right of the value or caption if set in the auto complete list
*
* */
public var meta:String;
/**
* Unknown
* */
public var className:String;
/**
* Unknown
* */
public var matchMask:Object;
/**
* Unknown
* */
public var exactMatch:Object;
/**
* Unknown
* Option: "rightAlignedText"
* */
public var type:String;
}
这是我获取自动完成对象的功能:
public function getObjectsFromArray(values:Array, metadataType:String = "attribute", className:String = null):Array {
var newValues:Array = [];
var numberOfItems:int = values ? values.length :0;
var autoCompleteObject:AutoCompleteObject;
var testing:Boolean;
var object:Object;
for (var i:int = 0; i < numberOfItems; i++) {
if (testing) {
object = {"value":values[i], meta:metadataType};
newValues.push(object);
}
else {
autoCompleteObject = new AutoCompleteObject(values[i], metadataType);
autoCompleteObject.className = className;
autoCompleteObject.type = "attribute";
newValues.push(autoCompleteObject);
}
}
return newValues;
}
我的问题是以下属性意味着什么:
不太重要:
我的相关问题,如果它们应该是单独的问题让我知道,是:
- 如果类名是我认为的,我可以在自动完成列表中显示className吗?
- 我可以按元类型对列表进行排序吗?所以我的列表在内置列表之上?
- 我使用的强类型对象是否应更改为动态类型以备将来打样?我找到了提到的其他属性,因为当我使用Object更改时会抛出错误。
我可以将这些问题作为单独的问题发布。
答案 0 :(得分:2)
score
是用于排序https://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/autocomplete.js#L494的数字
matchMask
和exactMatch
是排序算法使用的内部属性
className作为类名https://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/autocomplete/popup.js#L190
添加到行中type是仅由代码段完成符https://github.com/ajaxorg/ace/blob/v1.2.6/lib/ace/ext/language_tools.js#L67
使用的自定义属性