ionic-team / ionic-team/ionic-framework

feat: Angular - make certain inputs `booleanAttribute`s

Abierto
#30,822 0 comentarios 1 reacción 0 asignados Ver en GitHub
package: angular type: feature request
Lenguaje dominante
TypeScript
Estrellas
52.7k
Forks
13.3k
Merge medio
1 d 15 h
PR fusionados (30 d)
51

Descripción

### Prerequisites

- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [x] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [x] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already include this feature request, without success.

### Describe the Feature Request

This issue was brought up as a bug 5 years ago in #21638, but I'm making it a feature request.
My editor complains when I don't specify the value of certain valid ionic attributes:
```html

~~~~~~ ~~~~~
```
The error is: `TS2322: Type string is not assignable to type boolean`
It compiles fine and works in my app, but in order to get rid of the complaints of my IDE, I have to specify the values of these attributes as `true`:
```html

```

### Describe the Use Case

Make these errors go away, and make this approach work! It looks much cleaner.
```html

```

### Describe Preferred Solution

Coerce the value of these attributes to booleans:
```js
// Using `coerceBooleanProperty` allows for the disabled value of a button to be set as
// `` instead of ``.
// It also allows for a string to be passed like ``.
@Input()
get button() { return this._button; }
set button(value: BooleanInput) {
this._button = coerceBooleanProperty(value);
}
private _button = false;
```

### Describe Alternatives

Give the attributes explicit values:
```html

```

### Related Code

_No response_

### Additional Information

_No response_

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.