0

如何获得类型的组合控件TreeView.ComboTreeBehaviorName以使其节点默认折叠?

我试过查看文档herehere,但这对我来说似乎完全没有帮助。

我还尝试检查类型(在 vss.d.ts 中)以查看是否有可以设置的属性:

  • 我发现maxAutoExpandDropWidthwhich 声称 it Specifies the max size when auto-expand drop bigger than combo,但将其设置为 0 或 1 似乎没有任何效果。
  • 我发现dropOptions?: IComboDropOptions;但它似乎也没有任何展开/折叠的属性。
  • 我尝试向collapsed: trueIComboOptions添加一个属性
  • Controls.Enhancement.enhance方法的签名似乎表明我可以将一些选项作为type属性的一部分传递给IComboOptions,但我尝试过但不能这样做,因为该type属性需要一个字符串,而不是一个对象。
  • 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;
    });
}
4

1 回答 1

0

答案是一个名为“treeLevel”的无证属性:

<Controls_Combos.Combo>Controls.Enhancement.enhance(
            Controls_Combos.Combo,
            this._$areaInput,
            <Controls_Combos.IComboOptions> {
                type: TreeView.ComboTreeBehaviorName,
                source: ConvertToTreeNodes(someItems),
                mode: 'drop',
                allowEdit: false,
                treeLevel: 0 // collapse to first level by default

            }
        );

我已要求将其记录在案

于 2018-07-17T14:59:21.317 回答