关于GmAlert的建议
作者您好,我在使用GmAlert时(html+js+css,非vue)发现了一些问题:
1、“README”文档中均是“Gmal”对象,但我查看gmalert.min.js源码中发现应该是“GmAlert”对象,且实际使用时用“Gmal”对象会报错;
2、各模块弹出后遮罩层应该完全遮住底层元素,禁止底层元素的点击和选中等操作,以“Alert”模块为例,现在我(开发者)希望用户跟随弹窗做下一步操作,而不希望用户还能点页面上的其他按钮。我觉得您可以参考layui的layer弹层组件(https://layui.dev/docs/2/layer)
3、Message模块的弹层大小太小了,如果能调大一点、与Alert的大小差不多就好了
4、“README”文档我认为还不够完善和便于阅读理解,不完善的地方在于没有“Close”方法,当我(开发者)使用GmAlert.alert("加载中", "loading")显示等待框后,是需要我(开发者)在合适的时机手动关闭它,而文档中并没有有关“Close”方法的说明,我也是在gmalert.min.js源码中找到这个方法的;不够便于阅读理解的地方是在于参数描述不够简单明了,如下面一段: `type?: 'success' | 'error' | 'warn' | 'info' | 'loading'
option?: {
timeout?: number // 消失的时间
// 关闭后的回调
// @param status 0: 用户点击关闭或取消按钮, 1: 用户点确认, -1: 超时自动关闭,
// -2 | undefined : 被强制关闭,一般是因为超出了maxCount
onClosed?: (status: number) => void
}`
参数描述和使用方式柔和在一起,确实不便于阅读和理解,我建议您像layui的layer弹层组件文档一样(https://layui.dev/docs/2/layer),将参数说明和使用方法分开说明
5、链式语法不够精简,例如GmAlert.alert("加载中", "loading")这一句,我认为可以继续改进为GmAlert.alert.loading("加载中"),因为每种模块中的类型是固定的,完全可以去掉“Gmal.模块([message], [type?], [option?]) ”中这个“type”参数
以上几点均出自我个人使用感受,有错误的地方望见谅
感谢建议
V2 版本发布