-
-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
element-plus 中使用服务方式调用Loading ,不会自动引入样式 #582
Comments
import {i18n} from "@/config/i18n";
import {ElMessageBox, ElMessageBoxOptions} from "element-plus";
const {t} = i18n.global;
class UseMessageBox {
/**
* 当用户进行操作时会被触发,该对话框中断用户操作,直到用户确认知晓后才可关闭。<br>
* 调用 ElMessageBox.alert 方法以打开 alert 框。 它模拟了系统的 alert,无法通过按下 ESC 或点击框外关闭。 此例中接收了两个参数,message和title。 值得一提的是,窗口被关闭后,它默认会返回一个Promise对象便于进行后续操作的处理。 若不确定浏览器是否支持Promise,可自行引入第三方 polyfill 或像本例一样使用回调进行后续处理。
* @param msg 消息内容
* @param title 标题
* @param options 配置参数,详见https://element-plus.org/zh-CN/component/message-box.html#messagebox-%E9%85%8D%E7%BD%AE%E9%A1%B9
*/
// @ts-ignore
public alert(msg: string, title = t("messageBox.title.tip"), options?: ElMessageBoxOptions | undefined) {
return ElMessageBox.alert(msg, title, options);
}
/**
* 普通的询问框,提示用户确认其已经触发的动作,并询问是否进行此操作时会用到此对话框。<br>
* 调用 ElMessageBox.confirm 方法以打开 confirm 框。它模拟了系统的 confirm。 Message Box 组件也拥有极高的定制性,我们可以传入 options 作为第三个参数,它是一个字面量对象。 type 字段表明消息类型,可以为success,error,info和 warning,无效的设置将会被忽略。 需要注意的是,第二个参数 title 必须定义为 String 类型,如果是 Object,会被当做为 options使用。 在这里我们返回了一个 Promise 来处理后续响应。
* @param msg 消息内容
* @param title 标题
* @param options 配置参数,详见https://element-plus.org/zh-CN/component/message-box.html#messagebox-%E9%85%8D%E7%BD%AE%E9%A1%B9
* @returns {*}
*/
// @ts-ignore
public confirm(msg: string, title = t("messageBox.title.tip"), options?: ElMessageBoxOptions | undefined) {
return ElMessageBox.confirm(msg, title, options);
}
/**
* 警告询问框,就是confirm添加了默认的参数{type: 'warning'}
* @param msg 消息
* @param title 标题
* @returns {*}
*/
// @ts-ignore
public warningConfirm(msg: string, title = t("messageBox.title.warning")) {
return ElMessageBox.confirm(msg, title, {type: "warning"});
}
}
export const useMessageBox = new UseMessageBox(); |
可能需要麻烦你提供个 reproduction,看下具体配置啥的。 |
@lishaobos 我是通过同时使用 unplugin-element-plus插件解决了此问题,如果你想复原此问题可以使用我这个项目,去除 官网的意思貌似可以二选一,但是我发现不能将 |
@lishaobos 看来就是这个原因,那看来这个是 自动导入插件的bug了,没有生成 ElMessage 的全局声明 |
也不是 bug,他在转换的时候会判重,如果你自己引入,他就不操作了。 |
@lishaobos 好吧,但的确是很难用。不会像vue那样第一次启动就全部生成好,而是每次启动都会重新生成一遍。搞得开始就会有报错,然后一会又好了.... |
我这两天加个缓存功能,效果会好一点。 |
不使用import导入,使用TS那就会报类型错误,那就必须得declare所有用到的东西 |
类似错误我也犯了一次。原因是对 auto import 机制不熟悉。 |
我都是IDE自动导入的,很少手动写 import 太麻烦了 |
意思是 |
Describe the bug
element-plus 中使用服务方式调用Loading ,不会自动引入样式
Reproduction
System Info
Used Package Manager
npm
Validations
The text was updated successfully, but these errors were encountered: