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

vue+antd——table組件實現(xiàn)動態(tài)列+表頭下拉選擇功能——技能提升

這篇具有很好參考價值的文章主要介紹了vue+antd——table組件實現(xiàn)動態(tài)列+表頭下拉選擇功能——技能提升。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Table 表格

展示行列數(shù)據(jù)。

何時使用

當有大量結(jié)構(gòu)化的數(shù)據(jù)需要展現(xiàn)時;
當需要對數(shù)據(jù)進行排序、搜索、分頁、自定義操作等復(fù)雜行為時。

最近在寫vue+antd的框架,遇到一個需求:就是要實現(xiàn)table表格的動態(tài)列,并且相應(yīng)的表頭要實現(xiàn)下拉選擇的效果,最后點擊保存時,要將下拉的內(nèi)容拼接到對應(yīng)的列上面去。

在Table中,dataSource和columns里的數(shù)據(jù)都需要指定key值。對于dataSource默認將每列數(shù)據(jù)的key作為唯一標識。
如果數(shù)據(jù)中沒有這個屬性,務(wù)必使用rowKey來指定數(shù)據(jù)列的主鍵。如果沒有指定,控制臺會出現(xiàn)缺少key的提示,表格組件也會出現(xiàn)各類奇怪的錯誤。

效果圖

vue+antd——table組件實現(xiàn)動態(tài)列+表頭下拉選擇功能——技能提升,ant-design,vue基礎(chǔ)知識,vue.js,javascript,前端
vue+antd——table組件實現(xiàn)動態(tài)列+表頭下拉選擇功能——技能提升,ant-design,vue基礎(chǔ)知識,vue.js,javascript,前端

上面的[序號,物料名稱,型號,品牌,封裝,參數(shù),位號,供料方式,單片用量,需求用量,類目,類別,SMT套數(shù)]都是固定列
動態(tài)列是上圖中紅框框住的部分

table組件實現(xiàn)動態(tài)列

先看數(shù)據(jù)結(jié)構(gòu):
vue+antd——table組件實現(xiàn)動態(tài)列+表頭下拉選擇功能——技能提升,ant-design,vue基礎(chǔ)知識,vue.js,javascript,前端
要求:根據(jù)第一條數(shù)據(jù)中的noBelongCols字段,創(chuàng)建動態(tài)列。

1.tableList:table表格列表數(shù)據(jù)
2.noBelongCols:動態(tài)列參數(shù),長度就是動態(tài)列的長度
3.noBelongTypes:表頭的下拉列參數(shù)

changeColumns(){
	let noBelongCols =
        this.tableList && this.tableList[0] && this.tableList[0].noBelongCols;
      console.log('noBelongCols', noBelongCols, this.columns);
      this.noBelongCols = noBelongCols;
      this.noBelongTypes = [];
      noBelongCols &&
        noBelongCols.forEach((be, index) => {
          this.columns.push({
            slots: { title: '無主列' + index },
            type: 'string',
            dataIndex: '無主列' + index,
            width: 110,
            scopedSlots: { customRender: '無主列' + index },
          });
          this.noBelongTypes.push(undefined);
          this.tableList.forEach((table) => {
            table['無主列' + index] = table['noBelongCols'][index];
          });
        });
      this.columns.push({
        title: '操作',
        scopedSlots: { customRender: 'action' },
        align: 'center',
        width: 60,
        fixed: 'right',
      });
}

table組件表頭自定義——slots: { title: ‘無主列’ + index }

由于動態(tài)列的長度不固定,因此需要用v-for進行遍歷,遍歷出多列。

 v-for="(be, bIndex) in noBelongCols" :key="bIndex" :slot="'無主列' + bIndex"
<a-table
  :rowKey="(r, i) => i.toString()"
  :columns="columns"
  :dataSource="tableList"
>
  <div
    v-for="(be, bIndex) in noBelongCols"
    :key="bIndex"
    :slot="'無主列' + bIndex"
  >
    <a-select v-model="noBelongTypes[bIndex]" style="width: 100px">
      <a-select-option
        v-for="item in titleOptions"
        :key="item"
        :value="item"
        >{{ item }}</a-select-option
      >
    </a-select>
  </div>
</a-table>

表格頭部自定義的處理方法:

1.使用slots:{title:'無主列'}

自定義表頭:slots:{title:'無主列'+index}
自定義表格內(nèi)容:scopedSlots:{customRender:'無主列'+index}

遍歷動態(tài)列的時候,設(shè)置自定義表頭和自定義表格內(nèi)容

this.columns.push({
  slots: { title: '無主列' + index },
  type: 'string',
  dataIndex: '無主列' + index,
  width: 110,
  scopedSlots: { customRender: '無主列' + index },
});
2.在table組件中使用slot='xxxx'的方式來處理

最終代碼如下:

<div
  v-for="(be, bIndex) in noBelongCols"
  :key="bIndex"
  :slot="'無主列' + bIndex"
>
  <a-select v-model="noBelongTypes[bIndex]" style="width: 100px">
    <a-select-option
      v-for="item in titleOptions"
      :key="item"
      :value="item"
      >{{ item }}</a-select-option
    >
  </a-select>
</div>

完成!!!多多積累,多多收獲!??!

下面內(nèi)容與文章相關(guān)不大,只是為了湊字數(shù),可忽略?。?!

table組件,主要用于大量結(jié)構(gòu)化的數(shù)據(jù)需要展現(xiàn)時使用,在各端應(yīng)用開發(fā)中使用非常廣泛,達到幾乎必用的地步。在原生ios開發(fā)中,通常需要自定義cell來進行數(shù)據(jù)的展示,antd 的table組件功能相當強大,能實現(xiàn)的功能覆蓋范圍也相當廣泛,本文只是簡單介紹一下最基本的用法,有興趣的可以直接去官網(wǎng)上看,示例更豐富,而且都帶有效果展示。
首先,指定表格的數(shù)據(jù)源 dataSource 為一個數(shù)組:

在數(shù)據(jù)較多,會自動分頁展示,每一列會根據(jù)內(nèi)容的長度自動撐長,上手使用非常簡單,通常PC上對表格會有一些編輯等操作,在原生ios中需要自己布局、定義方法等一系列操作,antd table則只需要在列名稱中添加鏈接就好:

自定義andt table表格樣式的方式也比較多,上述方法可能會引起全局改變,如果只是改變代碼中一個table,則需要注意以下。以上只是介紹的最最最基礎(chǔ)的用法,還有很多高級一些的方法大家可以去官網(wǎng)細看。

值得一提的是,表格的樣式是默認的,需要修改的話要自己改變樣式,可以參考以下方法:文章來源地址http://www.zghlxwxcb.cn/news/detail-697977.html

.ant-table{
  :global {
    width: 98%;
    margin-left: 1%;
    .ant-table-thead > tr > th, .ant-table-tbody > tr > td {
        padding: 6px 8px !important;
    }
    .ant-table-thead > tr > th {
        background-color: #242542;
        color: white;
    }
    .ant-table-thead > tr > th:hover {
        background-color: #535781;
    }
    .ant-table-thead > tr > th.ant-table-column-has-actions.ant-table-column-has-sorters:hover {
        background: rgb(201, 223, 11);
    }
    .ant-table-content { 
      background-color: #343655; 
      color: white;
     }
    .ant-table-tbody > tr:hover > td{
      background-color:rgba(106, 178, 245, 0.5) ! important;
     }
  }
}

到了這里,關(guān)于vue+antd——table組件實現(xiàn)動態(tài)列+表頭下拉選擇功能——技能提升的文章就介紹完了。如果您還想了解更多內(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+element ui實現(xiàn)下拉表格選擇組件

    基于vue+element ui實現(xiàn)下拉表格選擇組件

    根據(jù)https://lolicode.gitee.io/scui-doc/demo/#/dashboard里的組件修改

    2024年02月16日
    瀏覽(33)
  • react+antd,Table表頭文字顏色設(shè)置

    1、創(chuàng)建一個自定義的TableHeaderCell組件,并設(shè)置其樣式為紅色 2、將CustomTableHeaderCell組件傳遞到Table組件的columns屬性中的title屬性中: 3、將數(shù)據(jù)源(dataSource)、列配置(columns)等相關(guān)信息傳遞給Table組件

    2024年01月18日
    瀏覽(20)
  • 【vue組件】使用element-ui 實現(xiàn)三級聯(lián)動下拉選擇

    【vue組件】使用element-ui 實現(xiàn)三級聯(lián)動下拉選擇

    實現(xiàn)的思路是第一個下拉選擇在選擇了選項后將該選項的信息傳遞到接口請求下一個選項的內(nèi)容,依次類推 然后在清除了上一級選擇的選項后要將其次級和子孫級的選項都清除(包括選擇里的列表內(nèi)容) 下面看具體代碼: 效果圖:

    2024年02月11日
    瀏覽(36)
  • Element+Vue實現(xiàn)動態(tài)表單(多個下拉框組件)

    Element+Vue實現(xiàn)動態(tài)表單(多個下拉框組件)

    表單的內(nèi)容為巡檢計劃,巡檢計劃可以選擇多個巡檢點位,每個巡檢點位可以選擇多個設(shè)備和對應(yīng)操作。 點擊加號圖標增加一個下拉框 減號圖標刪除對應(yīng)下拉框 下拉框備選項目相同 點擊設(shè)置動作按鈕,彈出可編輯表格,可以為該巡檢點位設(shè)置多個動作 表格每行內(nèi)容可編 設(shè)

    2024年02月15日
    瀏覽(20)
  • react + antd:AutoComplete 實現(xiàn)既可以自由輸入又能下拉選擇

    在工作中遇到一個需求,既能下拉選擇,有要求可以自由輸入沒有的選項。 剛開始考慮使用 Select 組件,發(fā)現(xiàn)只有多選( mode=\\\"tags\\\" )的時候才能隨意輸入內(nèi)容,但多選又不符合當前的業(yè)務(wù)需求。 在猶豫要不要自定義一個組件來實現(xiàn)業(yè)務(wù)需求時,發(fā)現(xiàn)了 AutoComplete 組件,完美實

    2024年01月19日
    瀏覽(20)
  • vue+Element UI Table表格動態(tài)渲染表頭內(nèi)容及操作按鈕

    循環(huán)表格頭信息數(shù)組 封裝操作組件并引入表格文件內(nèi) 配置表頭信息數(shù)組及添加操作事件

    2024年02月13日
    瀏覽(93)
  • antd的Table組件實現(xiàn)單元格可編輯

    antd的Table組件實現(xiàn)單元格可編輯

    目錄 ?官網(wǎng)做法 其他做法 首先,官網(wǎng)文檔上是有可編輯單元格和可編輯行的。我研究了好幾遍,也是半知半解,只會用 ?官網(wǎng)做法 有一定的局限性,單元格內(nèi)只能是輸入框(我試了一些別的,不太行) 代碼直接照著文檔粘貼,只說一下需要改動的地方 table的數(shù)據(jù)源,我們都是

    2024年02月16日
    瀏覽(28)
  • vue2 - Antd Table組件的頭部單元格 字體加粗, 文字內(nèi)容居中
解決辦法:

    vue2 - Antd Table組件的頭部單元格 字體加粗, 文字內(nèi)容居中 解決辦法:

    問題:默認情況下,英文字體加粗,中文字體不加粗, 在當前.vue的style增加穿透antd table的表頭樣式,然后在使用table的外層設(shè)置加上class 分2種情況,單獨設(shè)置表頭,或者所有單元格都居中 單獨設(shè)置表頭:在設(shè)置列時,加上方法:customHeaderCell 所有單元格:在設(shè)置第一列時加

    2024年02月15日
    瀏覽(50)
  • 記錄--組件庫的 Table 組件表頭表體是如何實現(xiàn)同步滾動?

    記錄--組件庫的 Table 組件表頭表體是如何實現(xiàn)同步滾動?

    在使用 Vue 3 組件庫 Naive UI 的數(shù)據(jù)表格組件 DataTable 時碰到的問題,NaiveUI 的數(shù)據(jù)表格組件 DataTable 在固定頭部和列的示例中,在鍵盤操作下表格橫向滾動會有問題,本文是記錄下解決問題的過程,并最后向 Naive UI 提交 PR。 問題復(fù)現(xiàn)步驟: 鼠標點擊表頭,此時按鍵盤左右鍵,

    2024年02月12日
    瀏覽(22)
  • el-table 實現(xiàn)動態(tài)表頭 靜態(tài)內(nèi)容 根據(jù)數(shù)據(jù)顯示動態(tài)輸入框

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包