ionic-team / ionic-team/ionic-framework

feat: Angular - make certain inputs `booleanAttribute`s

未关闭
#30,822 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
package: angular type: feature request
主要语言
TypeScript
星标
52.7k
派生
13.3k
平均合并
1 天 15 小时
30 天内合并 PR
51

描述

### 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_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。