有什么方法可以动态禁用角度多选(cuppa实验室)

时间:2019-04-08 06:54:09

标签: javascript angular

我正在从此链接https://www.npmjs.com/package/angular2-multiselect-dropdown使用多选下拉菜单(cuppa labs),但是我无法禁用该下拉菜单。

最初,如果我在设置中设置disable:true可以正常工作,但最初我希望disable:false,那么我需要在api成功响应后将disable:true更改。

documentDropdownSettings = {
        text: "Required Document",
        badgeShowLimit: 3,
        enableSearchFilter: true,
        maxHeight: 150,
        classes: "myclass custom-class",
        showCheckbox: true,
        enableFilterSelectAll: false,
        disabled:false

    }

this.taskService.getTaskDetails(this.taskId, (success) => {    
   this.documentDropdownSettings.disabled=true
        }, (error) => {
    enter code here
        })

我想动态禁用下拉菜单。

1 个答案:

答案 0 :(得分:1)

我认为问题在于设置对象是不可变的。 您需要更改对象引用而不是其属性才能使绑定生效。

进行更改,然后更改参考可能会起作用。 像这样:

this.taskService.getTaskDetails(this.taskId, (success) => {    
     this.dropdownSettings['disabled'] = true;
     this.dropdownSettings = Object.assign({}, this.dropdownSettings);
   }, (error) => {
    enter code here
})

P.S他们的官方方法似乎有点尴尬,他们为每个设置更改in their documentation重新创建对象。