我正在尝试对ng-select进行样式设置,可能会有多个选择,并且我想动态更改其子元素样式之一,以便可以根据父元素的Input计算出最大高度。 我需要从ng-select组件中准确设置“ .ng-value-container”类的样式。
我尝试通过ElementRef,querySelector进行此操作,并且正在寻找一种找到其子级的方法,因此通过ElementRef,我可以更改其样式
Ng select看起来像这样,所以我不能只是在ts文件中带有变量的组件上添加样式。
<ng-select class="multi-select placeholder-select" [class.required-border]="required"
[searchable]="searchable" [(items)]="items" [searchFn]="searchFn" [closeOnSelect]="closeOnSelect"
[multiple]="multiple" [clearable]="false" [bindLabel]="bindLabel" (focus)="onFocus()" (focusout)="onFocus()"
(search)="onSearch($event)" (change)="onChange($event)" [(ngModel)]="chosenOption" [notFoundText]="notFoundText"
#select>
</ng-select>
我希望类“ .ng-value-container”的此内部元素的最大高度例如在输入为3时为150px,在输入为4时为200px,如果有更多选定项,则元素为可滚动。
答案 0 :(得分:1)
在找到任何答案之前,我已经找到了该问题的解决方案,因此,如果有人遇到相同的问题,我将在此处发布。
首先,需要添加对元素(#name)的引用,例如:
const mockStore = () => ({
objectId: '123',
objects: {},
})
test('should select the content of the table', () => {
const result = selectDetailsObject(mockStore)
expect(result.objects).toBe()
})
然后使用ViewChild批注在您的逻辑中获取此元素。
//create a json object to hold the json elements
JsonObject jsonElements = new JsonObject();
jsonElements.put("name","Luis");
jsonElements.put("phoneNumber","526677777777");
//now create another json object to hold the json element created
JsonObject jsonMain = new JsonObject();
jsonMain.put("person",jsonElements);
并添加end get元素的子元素,并在ngAfterViewInit方法中指定maxHeight。 就我而言,是这样的:
<ng-select #name></ng-select>