如何在下拉列表中将标签设置为空字符串?
How to set label to empty string in dropdown?
我正在处理这个简单的 多选下拉列表 ,我想将标签设置为空 (空字符串)。但是,当我使用 defaultLabel 时,它似乎无法正常工作。有什么方法可以默认将标签(测试)设置为空字符串?
提前致谢!
这是我的代码:
<p-multiselect
[options]="registrationStatus"
[defaultLabel]= "someText"
[showHeader]="false">
</p-multiSelect>
您可以将空字符串设置为 defaultLabel
并定义一个全局 css class 来覆盖控件的默认样式并设置初始大小。如果你想从一个特定的宽度开始,你也可以在样式中设置一个最小宽度。然后你使用 styleClass 属性 应用你的 css class。官方文档中有提到here.
这是要放入应用程序全局 css 中的样式:
.multipleSelectSize {
height: 30px;
min-width: 100px;
}
.multipleSelectSize > .ui-multiselect-label-container > .ui-multiselect-label {
height: 27px;
}
以及应用样式的 html 模板:
<p-multiSelect [styleClass]="'multipleSelectSize'" [options]="registrationStatus" [defaultLabel]= "someText" [showHeader]="false"></p-multiSelect>
这里还有一个StackBlitz link.
这里有一个相对简单的解决方法:将默认标签设置为所需长度的字符串,比如 "Default"。然后使用 MultiSelectComponent 上提供的 [style] 属性在没有选定项时有条件地应用 color: transparent
。这样,您就不必处理适当设置高度或宽度的问题。
<p-multiSelect [options]="registrationStatus" [defaultLabel]="someText"
[(ngModel)]="selectedItems" [showHeader]="false"
[style]="getDefaultLabelStyle()">
</p-multiSelect>
someText: string = 'Default';
selectedItems: Array<Object> = [ ];
getDefaultLabelStyle() {
return (this.selectedItems.length === 0) ?
{ color: 'transparent' } : null;
}
Full StackBlitz here.
我正在处理这个简单的 多选下拉列表 ,我想将标签设置为空 (空字符串)。但是,当我使用 defaultLabel 时,它似乎无法正常工作。有什么方法可以默认将标签(测试)设置为空字符串?
提前致谢!
这是我的代码:
<p-multiselect
[options]="registrationStatus"
[defaultLabel]= "someText"
[showHeader]="false">
</p-multiSelect>
您可以将空字符串设置为 defaultLabel
并定义一个全局 css class 来覆盖控件的默认样式并设置初始大小。如果你想从一个特定的宽度开始,你也可以在样式中设置一个最小宽度。然后你使用 styleClass 属性 应用你的 css class。官方文档中有提到here.
这是要放入应用程序全局 css 中的样式:
.multipleSelectSize {
height: 30px;
min-width: 100px;
}
.multipleSelectSize > .ui-multiselect-label-container > .ui-multiselect-label {
height: 27px;
}
以及应用样式的 html 模板:
<p-multiSelect [styleClass]="'multipleSelectSize'" [options]="registrationStatus" [defaultLabel]= "someText" [showHeader]="false"></p-multiSelect>
这里还有一个StackBlitz link.
这里有一个相对简单的解决方法:将默认标签设置为所需长度的字符串,比如 "Default"。然后使用 MultiSelectComponent 上提供的 [style] 属性在没有选定项时有条件地应用 color: transparent
。这样,您就不必处理适当设置高度或宽度的问题。
<p-multiSelect [options]="registrationStatus" [defaultLabel]="someText"
[(ngModel)]="selectedItems" [showHeader]="false"
[style]="getDefaultLabelStyle()">
</p-multiSelect>
someText: string = 'Default';
selectedItems: Array<Object> = [ ];
getDefaultLabelStyle() {
return (this.selectedItems.length === 0) ?
{ color: 'transparent' } : null;
}
Full StackBlitz here.