Improve HA form default support (#14570)

* use default as placeholder if not required

* Do not force number selector to 0 or min when empty

* use undefined instead of empty string
This commit is contained in:
Paul Bottein 2023-01-23 20:09:13 +01:00 committed by GitHub
parent 38c1112308
commit d6e0d57744
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 8 deletions

View File

@ -86,6 +86,7 @@ export class HaForm extends LitElement implements HaFormElement {
.value=${getValue(this.data, item)}
.label=${this._computeLabel(item, this.data)}
.disabled=${item.disabled || this.disabled || false}
.placeholder=${item.required ? "" : item.default}
.helper=${this._computeHelper(item)}
.required=${item.required || false}
.context=${this._generateContext(item)}

View File

@ -39,7 +39,7 @@ export class HaNumberSelector extends LitElement {
<ha-slider
.min=${this.selector.number?.min}
.max=${this.selector.number?.max}
.value=${this._value}
.value=${this.value ?? ""}
.step=${this.selector.number?.step ?? 1}
.disabled=${this.disabled}
.required=${this.required}
@ -81,17 +81,11 @@ export class HaNumberSelector extends LitElement {
`;
}
private get _value() {
return this.value ?? (this.selector.number?.min || 0);
}
private _handleInputChange(ev) {
ev.stopPropagation();
const value =
ev.target.value === "" || isNaN(ev.target.value)
? this.required
? this.selector.number?.min || 0
: undefined
? undefined
: Number(ev.target.value);
if (this.value === value) {
return;