fix(core): allow null value for renderer setElement(…) (#17065)
Using Renderer’s setElementAttribute or setElementStyle with a null or undefined value removes the corresponding attribute or style. The argument type should allow this when using strictNullChecks. Closes #13686 PR Close #17065
This commit is contained in:
parent
ea20ae63d0
commit
ff15043e48
|
@ -73,7 +73,7 @@ export abstract class Renderer {
|
|||
|
||||
abstract setElementProperty(renderElement: any, propertyName: string, propertyValue: any): void;
|
||||
|
||||
abstract setElementAttribute(renderElement: any, attributeName: string, attributeValue: string):
|
||||
abstract setElementAttribute(renderElement: any, attributeName: string, attributeValue?: string):
|
||||
void;
|
||||
|
||||
/**
|
||||
|
@ -84,7 +84,7 @@ export abstract class Renderer {
|
|||
|
||||
abstract setElementClass(renderElement: any, className: string, isAdd: boolean): void;
|
||||
|
||||
abstract setElementStyle(renderElement: any, styleName: string, styleValue: string): void;
|
||||
abstract setElementStyle(renderElement: any, styleName: string, styleValue?: string): void;
|
||||
|
||||
abstract invokeElementMethod(renderElement: any, methodName: string, args?: any[]): void;
|
||||
|
||||
|
|
|
@ -433,7 +433,7 @@ class RendererAdapter implements RendererV1 {
|
|||
this.delegate.setProperty(renderElement, propertyName, propertyValue);
|
||||
}
|
||||
|
||||
setElementAttribute(renderElement: Element, namespaceAndName: string, attributeValue: string):
|
||||
setElementAttribute(renderElement: Element, namespaceAndName: string, attributeValue?: string):
|
||||
void {
|
||||
const [ns, name] = splitNamespace(namespaceAndName);
|
||||
if (attributeValue != null) {
|
||||
|
@ -453,7 +453,7 @@ class RendererAdapter implements RendererV1 {
|
|||
}
|
||||
}
|
||||
|
||||
setElementStyle(renderElement: HTMLElement, styleName: string, styleValue: string): void {
|
||||
setElementStyle(renderElement: HTMLElement, styleName: string, styleValue?: string): void {
|
||||
if (styleValue != null) {
|
||||
this.delegate.setStyle(renderElement, styleName, styleValue);
|
||||
} else {
|
||||
|
|
|
@ -692,10 +692,10 @@ export declare abstract class Renderer {
|
|||
abstract projectNodes(parentElement: any, nodes: any[]): void;
|
||||
abstract selectRootElement(selectorOrNode: string | any, debugInfo?: RenderDebugInfo): any;
|
||||
abstract setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string): void;
|
||||
abstract setElementAttribute(renderElement: any, attributeName: string, attributeValue: string): void;
|
||||
abstract setElementAttribute(renderElement: any, attributeName: string, attributeValue?: string): void;
|
||||
abstract setElementClass(renderElement: any, className: string, isAdd: boolean): void;
|
||||
abstract setElementProperty(renderElement: any, propertyName: string, propertyValue: any): void;
|
||||
abstract setElementStyle(renderElement: any, styleName: string, styleValue: string): void;
|
||||
abstract setElementStyle(renderElement: any, styleName: string, styleValue?: string): void;
|
||||
abstract setText(renderNode: any, text: string): void;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue