Angular 如何在下拉列表中将标签设置为空字符串?
我正在处理这个简单的多选下拉列表,我想将标签设置为nothing(空字符串)。但是,当我使用defaultLabel时,它似乎无法正常工作。有没有办法在默认情况下将标签(测试)设置为空字符串 提前多谢 这是我的密码:Angular 如何在下拉列表中将标签设置为空字符串?,angular,typescript,primeng,multi-select,Angular,Typescript,Primeng,Multi Select,我正在处理这个简单的多选下拉列表,我想将标签设置为nothing(空字符串)。但是,当我使用defaultLabel时,它似乎无法正常工作。有没有办法在默认情况下将标签(测试)设置为空字符串 提前多谢 这是我的密码: <p-multiselect [options]="registrationStatus" [defaultLabel]= "someText" [showHeader]="false"> </p-multiSelect> 您可
<p-multiselect
[options]="registrationStatus"
[defaultLabel]= "someText"
[showHeader]="false">
</p-multiSelect>
您可以将空字符串设置为
defaultLabel
,并定义一个全局css类,该类将覆盖控件的默认样式并设置初始大小。如果要从特定宽度开始,也可以在样式中设置最小宽度。然后使用styleClass属性应用css类。官方文件中提到了这一点
以下是要放入应用程序全局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>
这里还有一个相对简单的解决方法:将默认标签设置为所需长度的字符串,例如“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;
}
someText:string='Default';
selectedItems:Array=[];
getDefaultLabelStyle(){
返回(this.selectedItems.length==0)?
{color:'透明'}:空;
}
完整堆栈闪电战。它似乎适用于不可破坏的空格:
someText:string=“”
。看。@ConnorsFan即使它有效,但我认为它似乎不是一个好的解决方案。你的工作没有按预期进行。你只是想增加一个高度,当你把鼠标放在多选下拉菜单上时,你会看到一个灰色的背景。我已经用一个解决方案更新了答案,删除了灰色区域。现在有点复杂了。如果您对此不满意,您将不得不询问组件的创建者如何以更简单的方式进行操作。