【问题标题】:Forge Viewer Custom Combox/ComboButtonForge Viewer 自定义组合框/组合按钮
【发布时间】:2021-02-04 03:13:34
【问题描述】:

您好,我正在尝试添加自定义组合框,这是我的代码

  addCustomCombox(parentCtrl: any) {

    //create combox
    const comboButton = new Autodesk.Viewing.UI.ComboButton('buildings');
    comboButton.setToolTip('buildings');

    //create button
    var button1 = new Autodesk.Viewing.UI.Button('show-env-bg-button');
    button1.onClick = function (e) {
      alert('test');
    };
    button1.addClass('show-env-bg-button');
    button1.setToolTip('Show Environment');

    //attach button to combox
    comboButton.addControl(button1);

    parentCtrl.addControl(comboButton)
  }

但是我在comboButton.addControl() 上遇到错误,它说预期的参数为 0。我签入了节点模块,这是 ComboButton 的功能

  class ComboButton extends Button {
    constructor(id: string, options?: object);

    addControl(): void;
    restoreDefault(): void;
    saveAsDefault(): void;
  }

addControl 不接受任何参数。那么如何创建自定义组合框?非常感谢任何帮助。谢谢

**stackoverflow 参考:Forge Viewer Extension for Toolbar: How to add a custom combox

【问题讨论】:

    标签: autodesk-forge forge


    【解决方案1】:

    你使用打字稿定义?

    只需像这样修改它:

          class ComboButton extends Button {
            constructor(id: string, options?: object);
    
            addControl(button: any): void;
            restoreDefault(): void;
            saveAsDefault(): void;
          }
    

    【讨论】:

    • 帕克斯顿说得对。 Forge Viewer 的 TypeScript 定义是手工编写的,不幸的是这是一个错字。 ComboButton#addControl 方法确实接受 Button 对象作为其参数。
    • 另外,当您遇到此类问题时,请随时向github.com/DefinitelyTyped/DefinitelyTyped/issues 报告问题(在标题中注明@types/forge-viewer)。
    • 谢谢各位,问题已解决。我选择不使用打字稿定义
    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多