在Ivew裏按需引用element 部分組件時遇到的坑

最近要用到周選擇器,ivew裏面沒有。所以準備根據element的官方文檔按需引用下時間選擇器DatePicker。分享下遇到的問題。

第一步:npm install babel-plugin-component -D

第二部:上面安裝完成後會在項目下生成 .babelrc文件,文件內容

文檔的"presets": [["es2015", { "modules": false }]], 需要改變一下

{
  "presets": [["@babel/preset-env", { "modules": false }]],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

第三步:main.js裏使用

import {DatePicker} from 'element-ui'
Vue.use(DatePicker);

上述操作都OK了,準備用的時候發現點擊選擇器的時候沒法打開。而且會報錯,報錯內容大致是

Cannot read property '_t' of undefined。

想半天沒想明白,折磨大半天,最後發現是國際化i18n導致的。項目中已經使用國際化。當使用element的時候沒有做國際化的配置。當前解決方式就是:

import ElementLocale from 'element-ui/lib/locale'
import {DatePicker} from 'element-ui'
Vue.use(DatePicker);
//參照element 按需國際話的配置,這裏相當於沒做處理,此處不可刪除。配置的話參考官網
ElementLocale.i18n((key, value) => {});

上面只是解決了組件使用報錯問題,保證element的組件正常使用,國際化沒有配置。

下面是官網的文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章