Comments (4)
好提议。我觉得可以拆分成两个 PR。
一个 PR 补充所有组件的 event 类型,如 SwiperOnChangeEvent
等。
另一个 PR 调整事件的实现,下面是一个例子。 #34 (comment)
interface _SwiperOnChange {
// PR 前
(event: CustomEvent<_SwiperOnChangeDetail>): void;
// PR 后
(event: CustomEvent<_SwiperOnChangeDetail>, ...params: any[]): void;
}
最近公司业务比较紧,我可能会稍晚一点提交这两个 PR
from uni-app-types.
from uni-app-types.
关于事件的类型还有个问题想讨论一下。
疑惑
疑惑:自定义事件类型 CustomEvent
是出于什么考虑把 detail
属性调整成可选属性。
代码对比
原生微信小程序的 CustomEvent类型声明:
/*! *****************************************************************************
Copyright (c) 2023 Tencent, Inc. All rights reserved.
***************************************************************************** */
/** 自定义事件 */
interface CustomEvent<
Detail extends IAnyObject = IAnyObject,
Mark extends IAnyObject = IAnyObject,
CurrentTargetDataset extends IAnyObject = IAnyObject,
TargetDataset extends IAnyObject = CurrentTargetDataset
> extends BaseEvent<Mark, CurrentTargetDataset, TargetDataset> {
/** 额外的信息 */
detail: Detail
}
UniHelper
的 CustomEvent类型声明:
/** 自定义事件 */
interface _CustomEvent<
Detail extends AnyRecord = AnyRecord,
Mark extends AnyRecord = AnyRecord,
CurrentTargetDataset extends AnyRecord = AnyRecord,
TargetDataset extends AnyRecord = CurrentTargetDataset,
> extends _BaseEvent<Mark, CurrentTargetDataset, TargetDataset> {
/** 额外信息,变成可选属性,目前不清楚您的出发点,可以交流一下🤔 */
detail?: Detail;
[key: string]: any;
}
带来的影响
预期效果
from uni-app-types.
已经增加 XxxEvent
类型啦!非常感谢
from uni-app-types.
Related Issues (11)
- Dependency Dashboard
- 自定义组件类型声明文件出现冲突 HOT 19
- types declare HOT 2
- 优化类型 HOT 1
- 降低类型使用成本 HOT 12
- @vue/server-renderer依赖版本跟uni官方提供的vue库依赖版本不一致 HOT 5
- `CustomEvent` 等事件类型的讨论 HOT 5
- Volar 更新到 1.0.10 后配置失效 HOT 5
- vscode 自动升级volar 插件导致的 uni-app-types 类型失效 HOT 8
- volar / vue-tsc@^1.6.4 该如何配置? HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uni-app-types.