下拉列表根据加载是否完成禁用/启用
Dropdown list disable / enable based on loading completed or not
我想在加载时禁用下拉列表,因此用户无法单击某个项目。加载完成后启用它。有一个 属性 disable 所以我用一个布尔值绑定它。
代码:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class="example-wrapper">
<p>T-shirt size:</p>
<kendo-dropdownlist
[data]="listItems"
disable="loading">
</kendo-dropdownlist>
</div>
})
export class AppComponent implements OnInit{
public loading: boolean;
public listItems: Array<string>;
ngOnInit() {
this.loading = true;
this.listItems = ["X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large"];
setTimeout(function(){ this.loading = false; }, 5000);
}
}
但它不起作用,这意味着即使我更改了布尔值也没有影响它。
我的问题:
如何让它发挥作用?如果没有,还有其他方法可以添加旋转覆盖吗?
您需要使用方括号表示法将 disabled
属性 绑定到您的模型。而且您将 disabled
属性拼错为 disable
.
[disabled]="loading"
此外,您使用了 function() { }
作为回调,这意味着 this
的范围仅限于函数本身。您需要使用箭头函数来更新组件 属性.
<kendo-dropdownlist [data]="listItems" [disabled]="loading">
</kendo-dropdownlist>
您可以使用以下代码段禁用它:
[disabled]="loading"
示例:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class="example-wrapper">
<p>T-shirt size:</p>
<kendo-dropdownlist
data]="listItems"
[disabled]="loading">
</kendo-dropdownlist>
</div>
})
export class AppComponent implements OnInit{
public loading: boolean;
public listItems: Array<string>;
ngOnInit() {
this.loading = true;
this.listItems = ["X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large"];
setTimeout(()=>{ this.loading = false; }, 5000);
}
}
我想在加载时禁用下拉列表,因此用户无法单击某个项目。加载完成后启用它。有一个 属性 disable 所以我用一个布尔值绑定它。
代码:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class="example-wrapper">
<p>T-shirt size:</p>
<kendo-dropdownlist
[data]="listItems"
disable="loading">
</kendo-dropdownlist>
</div>
})
export class AppComponent implements OnInit{
public loading: boolean;
public listItems: Array<string>;
ngOnInit() {
this.loading = true;
this.listItems = ["X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large"];
setTimeout(function(){ this.loading = false; }, 5000);
}
}
但它不起作用,这意味着即使我更改了布尔值也没有影响它。
我的问题:
如何让它发挥作用?如果没有,还有其他方法可以添加旋转覆盖吗?
您需要使用方括号表示法将 disabled
属性 绑定到您的模型。而且您将 disabled
属性拼错为 disable
.
[disabled]="loading"
此外,您使用了 function() { }
作为回调,这意味着 this
的范围仅限于函数本身。您需要使用箭头函数来更新组件 属性.
<kendo-dropdownlist [data]="listItems" [disabled]="loading">
</kendo-dropdownlist>
您可以使用以下代码段禁用它:
[disabled]="loading"
示例:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class="example-wrapper">
<p>T-shirt size:</p>
<kendo-dropdownlist
data]="listItems"
[disabled]="loading">
</kendo-dropdownlist>
</div>
})
export class AppComponent implements OnInit{
public loading: boolean;
public listItems: Array<string>;
ngOnInit() {
this.loading = true;
this.listItems = ["X-Small", "Small", "Medium", "Large", "X-Large", "2X-Large"];
setTimeout(()=>{ this.loading = false; }, 5000);
}
}