ホームページ  >  記事  >  ウェブフロントエンド  >  vue3 で element-plus を使用してメッセージを呼び出す方法

vue3 で element-plus を使用してメッセージを呼び出す方法

WBOY
WBOY転載
2023-05-17 15:52:313084ブラウズ

    vue3 は element-plus を使用して message

    Environment: vue3 typescript element-plus

    1 を呼び出します。グローバル element

    エレメントの導入後、app.config.globalProperties にグローバル メソッド $message

    が追加されたため、オプション API

      mounted(){
        (this as any).$message.success("this.$message");
      }

    2 で直接使用できるようになります。コンポジション API では、セットアップ メソッドは 2 つの変数

    props と context を渡します。context はこれをコンテキストとして置き換えますが、context には Emit、attrs、およびスロットのみがあります。これをセットアップで直接使用すると、問題が発生します。 : 公式ウェブサイト 注:

    setup() 内では、これはアクティブなインスタンスへの参照にはなりません。setup() は他のコンポーネント オプションを解析する前に呼び出されるため、setup() 内での動作は異なります。他のオプションとはまったく異なります。 setup() で他のオプションの API と一緒に使用すると、混乱が発生する可能性があります。

    したがって、getCurrentInstance メソッドを呼び出すことでインスタンスを取得できます。このメソッドは、element-plus global

    //helloworld.vue
    import { getCurrentInstance, defineComponent,onMounted } from 'vue';
    export default  = defineComponent{
    setup(omprops,content){
        onMounted(()=>{
          getCurrentInstance()?.appContext.config.globalProperties.$message.success("聪明");
        })
    }

    3 を導入した直後に使用できます。別の方法は、provide/inject

    //main.ts
    import { createApp } from 'vue'
    import App from './App.vue'
    import element from 'element-plus'
    import 'element-plus/lib/theme-chalk/index.css'
    import {ElMessage} from 'element-plus'
    const app = createApp(App)
    app.use(element)
    //如果没有全局引用element,还需写下面一句
    //app.config.globalProperties.$message = ElMessage;
    app.provide('$message', ElMessage)
    app.mount('#app')
    //helloworld.vue
    import { inject, defineComponent,onMounted } from 'vue';
    export default  = defineComponent{
    setup(omprops,content){
        onMounted(()=>{
          (inject('$message') as any).success("inject");
        })
    }

    4 を使用することです。Composition API に記述する最も簡単な方法は、次のように押すことです。導入が必要です

    //helloworld.vue
    import { inject, defineComponent,onMounted } from 'vue';
    import { ElMessage } from 'element-plus'
    export default  = defineComponent{
    setup(omprops,content){
        onMounted(()=>{
          ElMessage.success('按需引入');
        })
    }

    vue は Element のメッセージ コンポーネントを使用します

    vue ファイルで使用します

    this.$message({
      message: "提示信息",
      type: "success"
    })

    js ファイルで使用します

    ElementUI.Message({
      message: '提示信息',
      type: 'warning'
    });

    以上がvue3 で element-plus を使用してメッセージを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。