最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 解決在element中使用$notify在提示信息中換行問題

 更新時(shí)間:2020年11月11日 10:17:09   作者:No Silver Bullet  
這篇文章主要介紹了Vue 解決在element中使用$notify在提示信息中換行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在項(xiàng)目開發(fā)過程中,遇到如下用戶體驗(yàn)提升需求:需要實(shí)現(xiàn)錯(cuò)誤提示時(shí)根據(jù)后臺(tái)返回錯(cuò)誤列表信息,換行展示。

實(shí)現(xiàn)方式如下:

通過F12元素查看,在對(duì)應(yīng)的樣式中加入white-space:pre-wrap,該樣式的主要作用是識(shí)別字符串中的換行符"\n",故需要在待展示的信息字符串中加入相應(yīng)的換行標(biāo)識(shí)符。

在$notify消息提示中,作用于el-notification:

.el-notification {white-space:pre-wrap !important; }

有的童鞋可能試過樣式white-space:pre,此時(shí)會(huì)出現(xiàn)的若提示信息內(nèi)容較長(zhǎng)時(shí)顯示不齊全的問題。

即使使用自動(dòng)換行樣式(也無(wú)效):

/*設(shè)置內(nèi)容超出后自動(dòng)換行*/
word-wrap: break-word;
word-break: break-all;

具體區(qū)別可參加以下參數(shù)部分。

補(bǔ)充知識(shí):關(guān)于vue ts項(xiàng)目同時(shí)引入element-ui和ant-design,ts報(bào)錯(cuò)不能編譯的解決方法。

vue ts版本同時(shí)引入ant和element不能打包。

Subsequent property declarations must have the same type. Property ‘$confirm' must be of type ‘(modalOptios: ModalOptions) => ModalConfirm', but here has type ‘ElMessageBoxShortcutMethod'.

Subsequent property declarations must have the same type. Property ‘$message' must be of type ‘Message', but here has type ‘ElMessage'.

通常vue項(xiàng)目只會(huì)用到一個(gè)ui庫(kù),但是往往會(huì)有一些特殊場(chǎng)景一個(gè)ui庫(kù)不滿足我們業(yè)務(wù)場(chǎng)景,我工作中使用到了ant-design-vue(全局引入)和element-ui(按需加載),同時(shí)項(xiàng)目是ts版本。

elemt,ant ts報(bào)錯(cuò)

我搜索了很多的解決方案,都不符合,我發(fā)現(xiàn)它爆錯(cuò)的地方是兩個(gè)的類型描述文件沖突了,這時(shí)候我把node_modules/element-ui/types/message-box.d.ts 和 node_modules/element-ui/types/message.d.ts 相關(guān)地方注釋后再打包果然不報(bào)錯(cuò)了。

既然能通過注釋的方式解決打包的問題,但是我們不能每次都去注釋一次,這時(shí)候馬上想到node的 fs包能幫我友好解決這個(gè)問題。

解決方案:

在項(xiàng)目根目錄創(chuàng)建 config文件夾、os.js文件

編寫os.js文件,如下

/**
 * 這個(gè)文件在這是為了解決同時(shí)引入element-ui / ant-design ts 爆粗哦,
 * 解決版本把node_modules 相關(guān)文件注釋了
 * */

let fs = require('fs')
let path = require('path')

let src1 = '../node_modules/element-ui/types/message.d.ts'
annotation(src1, '$message: ElMessage')
let src2 = '../node_modules/element-ui/types/message-box.d.ts'
annotation(src2, '$confirm: ElMessageBoxShortcutMethod')

function annotation(src, params) {
  fs.readFile(path.resolve(__dirname, src), 'utf8', function(err, files) {
    if (!err && files !== '') {
      let val = params
      let has = `// ${params}`
      let start = files.indexOf(val)
      let start2 = files.indexOf(has)
      if (start > -1 && start2 === -1) {
        var result = files.replace(val, has)
        fs.writeFile(
          path.resolve(__dirname, src),
          result,
          'utf8',
          function(err) {
            if (err) {
              console.log(err)
            }
          }
        )

        console.log(params + ' 注釋成功!')
      } else {
        console.log('沒有需要注釋對(duì)或者已經(jīng)注釋了!')
      }
    } else {
      console.log(
        params + ' 沒有需要注釋對(duì)或者已經(jīng)注釋了或者注釋文件失敗!'
      )
    }
  })
}

原來的命令,我們只需要修改build部分

編寫package.json運(yùn)行命令,把我們編寫的os.js加入到運(yùn)行命令

  "scripts": {
    "build": "node config/os.js&vue-cli-service build"
  },

現(xiàn)在運(yùn)行npm run build

大功告成!

以上這篇Vue 解決在element中使用$notify在提示信息中換行問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Vue.use的使用

    淺談Vue.use的使用

    這篇文章主要介紹了淺談Vue.use的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue3調(diào)度器scheduler功能和用法詳解

    vue3調(diào)度器scheduler功能和用法詳解

    調(diào)度器是vue3響應(yīng)式系統(tǒng)中一個(gè)非常重要的特性,可調(diào)度性指的是當(dāng)trigger 動(dòng)作觸發(fā)副作用函數(shù)重新執(zhí)行時(shí),有能力決定副作用函數(shù)執(zhí)行的時(shí)機(jī)、次數(shù)以及方式,本文通過代碼示例給大家介紹調(diào)度器是什么,有什么功能,怎么使用,感興趣的同學(xué)可以借鑒閱讀
    2023-06-06
  • Vue動(dòng)態(tài)組件實(shí)現(xiàn)異常處理方法

    Vue動(dòng)態(tài)組件實(shí)現(xiàn)異常處理方法

    Vue3動(dòng)態(tài)組件怎么進(jìn)行異常處理?下面本篇文章帶大家聊聊Vue3 動(dòng)態(tài)組件異常處理的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • Vue對(duì)Element中的el-tag添加@click事件無(wú)效的解決

    Vue對(duì)Element中的el-tag添加@click事件無(wú)效的解決

    本文主要介紹了Vue對(duì)Element中的el-tag添加@click事件無(wú)效的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • vue組件之Alert的實(shí)現(xiàn)代碼

    vue組件之Alert的實(shí)現(xiàn)代碼

    本篇文章主要介紹了vue組件之Alert的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue ref如何獲取子組件屬性值

    vue ref如何獲取子組件屬性值

    這篇文章主要介紹了vue ref如何獲取子組件屬性值。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue3路由配置以及路由跳轉(zhuǎn)傳參詳解

    vue3路由配置以及路由跳轉(zhuǎn)傳參詳解

    路由跳轉(zhuǎn)的同時(shí)傳遞參數(shù)是比較常見的,下面這篇文章主要給大家介紹了關(guān)于vue3路由配置以及路由跳轉(zhuǎn)傳參的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • vue打開其他項(xiàng)目頁(yè)面并傳入數(shù)據(jù)詳解

    vue打開其他項(xiàng)目頁(yè)面并傳入數(shù)據(jù)詳解

    這篇文章主要給大家介紹了關(guān)于vue打開其他項(xiàng)目頁(yè)面并傳入數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Vue?入口與?initGlobalAPI實(shí)例剖析

    Vue?入口與?initGlobalAPI實(shí)例剖析

    這篇文章主要為大家介紹了Vue?入口與?initGlobalAPI實(shí)例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • vue樣式穿透 ::v-deep的具體使用

    vue樣式穿透 ::v-deep的具體使用

    這篇文章主要介紹了vue樣式穿透 ::v-deep的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06

最新評(píng)論

隆化县| 大化| 垫江县| 阳山县| 商丘市| 库尔勒市| 拜城县| 安丘市| 湖北省| 专栏| 沁源县| 海淀区| 潢川县| 巧家县| 福泉市| 荥经县| 永兴县| 和田县| 铜川市| 南江县| 蓝山县| 台前县| 临桂县| 金昌市| 涪陵区| 广丰县| 山东| 阿尔山市| 阿拉善左旗| 台江县| 临湘市| 法库县| 安康市| 虞城县| 堆龙德庆县| 渝北区| 阿拉善右旗| 大同市| 金山区| 德江县| 甘谷县|