如何获取类型的组合控件
TreeView.ComboTreeBehaviorName
默认情况下是否折叠其节点?
我试过看文件
here
和
here
,但这对我来说似乎完全没有帮助。
我还尝试检查类型(在vss.d.ts中)以查看是否可以设置属性:
-
我发现
maxAutoExpandDropWidth
它声称
Specifies the max size when auto-expand drop bigger than combo
,但将其设置为0或1似乎没有任何效果。
-
我发现
dropOptions?: IComboDropOptions;
但看起来
也有任何展开/折叠属性。
-
我试着添加一个属性
collapsed: true
到icombooptions
-
签名
Controls.Enhancement.enhance
方法似乎
建议我可以通过一些选项作为
type
财产
上
IComboOptions
,但我试过了,但做不到,因为
这个
类型
属性需要字符串,而不是对象。
-
设置
node.expanded = false
传递树之前的所有节点
致
source
财产
以下是一些相关的代码摘录:
import * as Controls_Combos from "VSS/Controls/Combos";
import * as Controls from "VSS/Controls";
import * as TreeView from "VSS/Controls/TreeView";
this._$areaInput = $("<input type='text' id='inputAreaPicker' />")
.val(someValueThatDoesnotMatter)
.bind("blur", (e) => {
this._updateSomeOtherField();
this._validate();
});
}
…
<Controls_Combos.Combo>Controls.Enhancement.enhance(
Controls_Combos.Combo,
this._$areaInput,
<Controls_Combos.IComboOptions> {
type: TreeView.ComboTreeBehaviorName,
source: ConvertToTreeNodes(someItems), // loads multi-level tree successfully
mode: 'drop',
allowEdit: false,
maxAutoExpandDropWidth: 1, // seems to have no effect
collapsed: true // no effect
}
);
export function ConvertToTreeNodes(items): TreeView.TreeNode[] {
// let _this = this;
return $.map(items, function (item) {
let node = new TreeView.TreeNode(item.name);
node.id = item.id;
if (item.children && item.children.length > 0) {
node.addRange(ConvertToTreeNodes(item.children));
}
node.expanded = false;
return node;
});
}