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 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;
|
void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -84,7 +84,7 @@ export abstract class Renderer {
|
||||||
|
|
||||||
abstract setElementClass(renderElement: any, className: string, isAdd: boolean): void;
|
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;
|
abstract invokeElementMethod(renderElement: any, methodName: string, args?: any[]): void;
|
||||||
|
|
||||||
|
|
|
@ -433,7 +433,7 @@ class RendererAdapter implements RendererV1 {
|
||||||
this.delegate.setProperty(renderElement, propertyName, propertyValue);
|
this.delegate.setProperty(renderElement, propertyName, propertyValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
setElementAttribute(renderElement: Element, namespaceAndName: string, attributeValue: string):
|
setElementAttribute(renderElement: Element, namespaceAndName: string, attributeValue?: string):
|
||||||
void {
|
void {
|
||||||
const [ns, name] = splitNamespace(namespaceAndName);
|
const [ns, name] = splitNamespace(namespaceAndName);
|
||||||
if (attributeValue != null) {
|
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) {
|
if (styleValue != null) {
|
||||||
this.delegate.setStyle(renderElement, styleName, styleValue);
|
this.delegate.setStyle(renderElement, styleName, styleValue);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -692,10 +692,10 @@ export declare abstract class Renderer {
|
||||||
abstract projectNodes(parentElement: any, nodes: any[]): void;
|
abstract projectNodes(parentElement: any, nodes: any[]): void;
|
||||||
abstract selectRootElement(selectorOrNode: string | any, debugInfo?: RenderDebugInfo): any;
|
abstract selectRootElement(selectorOrNode: string | any, debugInfo?: RenderDebugInfo): any;
|
||||||
abstract setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string): void;
|
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 setElementClass(renderElement: any, className: string, isAdd: boolean): void;
|
||||||
abstract setElementProperty(renderElement: any, propertyName: string, propertyValue: any): 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;
|
abstract setText(renderNode: any, text: string): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue