最近要用到周選擇器,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的組件正常使用,國際化沒有配置。
下面是官網的文檔