国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【el-table的表格寬度自適應(yīng)】

這篇具有很好參考價值的文章主要介紹了【el-table的表格寬度自適應(yīng)】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


目的:根據(jù)表格內(nèi)容的長短來進行表格寬度的調(diào)整

el-tale組件在表頭中只提供了一個width屬性來控制表格的寬度,如果將其寫死,則會針對過長的內(nèi)容可能會有溢出換行、針對過短的內(nèi)容可能會出現(xiàn)占位過多,所以就寫了一個js文件來根據(jù)字符的長短來返回相應(yīng)的寬度。


一、js代碼

// 自適應(yīng)表格列寬 str為prop tableData為表格數(shù)據(jù)數(shù)組 flexWidth為自定義寬度用來適應(yīng)自己的表格
export function flexColumnWidth(str, tableData,flexWidth, flag = 'max') {
    // str為該列的字段名(傳字符串);tableData為該表格的數(shù)據(jù)源(傳變量);
    // flag為可選值,可不傳該參數(shù),傳參時可選'max'或'equal',默認為'max'
    // flag為'max'則設(shè)置列寬適配該列中最長的內(nèi)容,flag為'equal'則設(shè)置列寬適配該列中第一行內(nèi)容的長度。
    str = str + ''
    let columnContent = ''
    if (!tableData || !tableData.length || tableData.length === 0 || tableData === undefined) {
        return
    }
    if (!str || !str.length || str.length === 0 || str === undefined) {
        return
    }
    if (flag === 'equal') {
        // 獲取該列中第一個不為空的數(shù)據(jù)(內(nèi)容)
        for (let i = 0; i < tableData.length; i++) {
            if (tableData[i][str].length > 0) {
                // console.log('該列數(shù)據(jù)[0]:', tableData[0][str])
                columnContent = tableData[i][str]
                break
            }
        }
    } else {
        // 獲取該列中最長的數(shù)據(jù)(內(nèi)容)
        let index = 0
        for (let i = 0; i < tableData.length; i++) {
            if (tableData[i][str] === null) {
                tableData[i][str]=''
            }
            const now_temp = tableData[i][str] + ''
            const max_temp = tableData[index][str] + ''
            if (now_temp.length > max_temp.length) {
                index = i
            }
        }
        columnContent = tableData[index][str]
    }
    // console.log('該列數(shù)據(jù)[i]:', columnContent)
    // 以下分配的單位長度可根據(jù)實際需求進行調(diào)整
    for (const char of columnContent) {
        if ((char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z')) {
            // 如果是英文字符,為字符分配8個單位寬度
            flexWidth += 8
        } else if (char >= '\u4e00' && char <= '\u9fa5') {
            // 如果是中文字符,為字符分配15個單位寬度
            flexWidth += 15
        } else {
            // 其他種類字符,為字符分配8個單位寬度
            flexWidth += 8
        }
    }
    if (flexWidth < 80) {
        // 設(shè)置最小寬度
        flexWidth = 80
    }
    // if (flexWidth > 250) {
    //   // 設(shè)置最大寬度
    //   flexWidth = 250
    // }
    return flexWidth + 'px'
}

二、使用

代碼如下(示例):文章來源地址http://www.zghlxwxcb.cn/news/detail-589556.html

import { flexColumnWidth } from "@/utils/common";
...
methods: {
	flexColumnWidth(a, b){
      	return flexColumnWidth(a, b,this.windowWidth/20)
      	//此處的this.windowWidth一般為屏幕寬度,從而達到自適應(yīng)效果
    },
}
...
<el-table-column
label="行政區(qū)劃"
align="left"
key="gridName"
prop="gridName"
v-if="columns[0].visible"
:width="flexColumnWidth('gridName',patrolList)"
/>

到了這里,關(guān)于【el-table的表格寬度自適應(yīng)】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Vue】【ElementUI】關(guān)于el-table的自適應(yīng)行高設(shè)定

    【Vue】【ElementUI】關(guān)于el-table的自適應(yīng)行高設(shè)定

    網(wǎng)上好多設(shè)置el-table高度和行高的方法,主要是用elementui文檔里這幾個參數(shù): 我直接用css設(shè)置了el-table的高度,主要是為了自適應(yīng),百分比根本不管用,所以用vh單位: 行高之前用了 cell-style ,有一個問題是它只能用px單位,設(shè)置了之后改分辨率或者換瀏覽器大小就不一致了,

    2024年02月15日
    瀏覽(26)
  • vue3中el-table實現(xiàn)表格合計行

    el-table標簽上加屬性 show-summary :summary-method=“getSummary” js中添加函數(shù)(合計沒有額外的附件參數(shù)添加) js中添加函數(shù)(合計有額外的附件參數(shù)添加的情況)

    2024年02月02日
    瀏覽(22)
  • Vue中el-table表格的拖拽排序

    element-ui 表格沒有拖拽排序的功能,只能使用sortable.js插件實現(xiàn)拖拽排序,當然也可以應(yīng)用到其他的組件里面,用法類似,這里只說表格。 實現(xiàn)步驟: 1、安裝sortable.js 2、在需要的頁面中引入 3、實現(xiàn)表格拖動代碼

    2024年02月10日
    瀏覽(19)
  • vue中element-ui表格組件el-table封裝,在table表格中插入圖片

    vue中element-ui表格組件el-table封裝,在table表格中插入圖片

    ????????這次寫的項目是寫后臺管理系統(tǒng)這部分,對于后臺管理使用vue寫,用組件的話,table組件用得次數(shù)比較多,可以封裝一個table組件。 ????????1.如封裝的table組件: ?:prop=\\\"item.prop\\\"??:label=\\\"item.label\\\"是必須要有的,其他的可以根據(jù)自己需要寫 。 2.封裝之后是就是使

    2024年02月15日
    瀏覽(31)
  • vue(element ui )el-table樹形表格展示及數(shù)據(jù)對齊

    vue(element ui )el-table樹形表格展示及數(shù)據(jù)對齊

    注意點: el-table配置里 row-key 必須是唯一性 :tree-props=“{ children: ‘relatedPartyChild’ , hasChildren: ‘hasChildren’ }” children配置為后端返回的節(jié)點字段即可

    2024年02月16日
    瀏覽(30)
  • 【Vue/element】 el-table實現(xiàn)表格動態(tài)新增/插入/刪除 表格行,可編輯單元格

    【Vue/element】 el-table實現(xiàn)表格動態(tài)新增/插入/刪除 表格行,可編輯單元格

    效果如下: 點擊“新增一行”可以在表格最后新增一行,單元格內(nèi)容可編輯 點擊綠色+按鈕,可在指定行的后面插入一行 點擊紅色-按鈕,可以刪除指定行 原理:表格 el-table 是通過動態(tài)循環(huán) tableData 生成,只要對 tableData 數(shù)組進行增加刪除元素,就可以達到效果 這里用了ele

    2024年02月16日
    瀏覽(35)
  • Vue+el-table 修改表格 單元格橫線邊框顏色及表格空數(shù)據(jù)時邊框顏色

    Vue+el-table 修改表格 單元格橫線邊框顏色及表格空數(shù)據(jù)時邊框顏色

    找到對應(yīng)的css樣式進行修改

    2024年04月11日
    瀏覽(29)
  • 【vue+el-table+el-backtop】表格結(jié)合返回頂部使用,loading局部加載

    【vue+el-table+el-backtop】表格結(jié)合返回頂部使用,loading局部加載

    效果圖: 一. 表格結(jié)合返回頂部 二. 局部loading 解決方法: target綁定滾動dom的父元素類名就可以了. 1.如果你的表格是 固定表頭 的,那滾動dom的父元素類名就是 el-table__body-wrapper 如圖: 2.如果你的表格不是固定表頭,表頭跟隨內(nèi)容一起滾動的,那滾動dom的父元素類名就是 el-table 如圖

    2024年02月13日
    瀏覽(14)
  • VUE el-table設(shè)置表格表頭居中,內(nèi)容列居中/左對齊/右對齊

    VUE el-table設(shè)置表格表頭居中,內(nèi)容列居中/左對齊/右對齊

    1、 統(tǒng)一設(shè)置設(shè)置表頭居中 加上【:header-cell-style=\\\"{\\\'text-align\\\':\\\'center\\\'}\\\"】 統(tǒng)一設(shè)置設(shè)置內(nèi)容列居中 加上【:cell-style=\\\"{\\\'text-align\\\':\\\'center\\\'}\\\"】 2、 在每個el-table-column標簽上邊設(shè)置? ? align=\\\"center \\\"

    2024年02月17日
    瀏覽(98)
  • Vue結(jié)合ElementUi修改<el-table>表格的背景顏色和表頭樣式

    修改table的表頭背景 和 字體顏色: 以下是修改el-table表格內(nèi)容的背景色和邊框樣式:

    2024年02月11日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包