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

Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示

這篇具有很好參考價值的文章主要介紹了Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

早上剛上班,產(chǎn)品就朝我工位走了過來,一看大事不好,肯定又是來提需求的!

產(chǎn)品:做一個表格,要實現(xiàn)雙擊編輯的功能

我:做不了

產(chǎn)品:老板提的

我:好的,可以做

老板提的不能做也滴做??

申明:項目基于Vue+Ant Design實現(xiàn)

表格雙擊編輯單元格

想要實現(xiàn)雙擊編輯單元格,先開發(fā)一個簡單的表格(廢話)
Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示

 <a-table :columns="columns" :data-source="data">     
 </a-table>
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
  },
  {
    title: 'Age',
    dataIndex: 'age',
    key: 'age',
  },
  {
    title: 'Address',
    dataIndex: 'address',
    key: 'address',
  },
  {
    title: 'Tags',
    key: 'tags',
    dataIndex: 'tags',
  },
]
const data = [
  {
    key: '1',
    name: 'John Brown',
    age: 32,
    address: 'New York No. 1 Lake Park',
    tags: 'nice',
  },
  {
    key: '2',
    name: 'Jim Green',
    age: 42,
    address: 'London No. 1 Lake Park',
    tags: 'loser',
  },
  {
    key: '3',
    name: 'Joe Black',
    age: 32,
    address: 'Sidney No. 1 Lake Park',
    tags: 'teacher',
  },
]

現(xiàn)在實現(xiàn)Name列可雙擊編輯的功能,設(shè)置Name列可以自定義

  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
    scopedSlots:{customRender:'name'}
  },

在表格中自定義Name列的內(nèi)容

<template slot="name" slot-scope="record">
      <editable-cell :record="record" @changeAll="onCellChange" />
</template>

其中editable-cell是需要我們自己寫的一個子組件

雙擊編輯表格單元格的原理就是,默認展示表格內(nèi)容,雙擊單元格之后展示一個input框,input框也綁定了這個值,input框失去焦點之后,并將這個值傳回給父組件

子組件editable-cell

我們首先需要實現(xiàn)的就是將我們的原本表格中的內(nèi)容展示出來,表格展示的內(nèi)容是存在于父組件中的。

這里就涉及到了父子組件通信,子組件接收父組件傳遞的內(nèi)容是通過props

  props: {
    record: Object
  },

獲取到表格內(nèi)容之后,然后就是表格內(nèi)容的展示

    <div v-show="editable == false" @dblclick="edit">
      {{ value || ' ' }}
    </div>  
    //其中value的值為
    value: this.record.name,

editable初始值是false,默認展示的就是value,value的值就是我們從父組件獲取的表格的值text,
并且這個div塊綁定了一個雙擊函數(shù)edit

 edit() {
      this.editable = true
      this.$nextTick(() => {
        this.$refs.myInput.focus()
      })
    },

edit函數(shù)是將editable的值設(shè)置為true,設(shè)置為true之后展示的是input輸入框,并設(shè)置input框自動獲取焦點。這里需要注意的是直接寫this.$refs.myInput.focus()不會生效,需要設(shè)置等下次DOM更新之后再觸發(fā)這個事件。

    <div v-show="editable" >
      <a-input
        v-model="value"
        @pressEnter="check"
        @blur="check"
        size="small"
        ref="myInput"
      />
    </div>

Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示
input框綁定了兩個事件,失去焦點和按下enter鍵。觸發(fā)的是一個函數(shù)check函數(shù),將editable的值設(shè)置為false,單元格展示的就是值而不再是輸入框,這里我們需要將修改的值傳回給父組件,子向父傳遞是通過$emit

 check() {
      this.editable = false
      this.record.name=this.value
      this.$emit('changeAll', this.value)
    }  

子組件觸發(fā)了changAll函數(shù)

 onCellChange(record) {
      console.log(record,'123')
      console.log(this.data,'999')
    },

這里我們打印了record和我們表格的數(shù)組,對應(yīng)數(shù)據(jù)都成功作出修改
Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示

添加新行

<div class="operate">
     <a-button type="dashed" style="width: 100%" icon="plus" @click="addList">添加</a-button>
</div>

Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示
一個實現(xiàn)思路是往數(shù)組中添加一行新的空數(shù)據(jù)

  addList() {
      this.data1.push({
        key: this.data1.length +1,
        name: '' ,
        age: '',
        address: '',
        tags: '',
      })
      console.log(this.data1)
    },

添加的新數(shù)據(jù)我們也可以進行雙擊編輯功能
Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示

文字提示

如果我們想要實現(xiàn)文字提示功能,并且想要多行內(nèi)容展示,需要使用a-tooltip組件

  <a-tooltip placement="topLeft">
       <template #title>
            Name: {{ record.name }},<br />
            Key: {{ record.key }}
        </template>
       <editable-cell :record="record" @changeAll="onCellChange" />
  </a-tooltip>

多行內(nèi)容展示自定義template
Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示

到此所有的需求都實現(xiàn)了,本人蒟蒻一枚,大佬請劃走(輕點噴)…文章來源地址http://www.zghlxwxcb.cn/news/detail-500051.html

到了這里,關(guān)于Ant Design Vue實現(xiàn)表格雙擊編輯、添加新行、文字提示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Ant Design Vue Table 嵌套子表格的數(shù)據(jù)刷新方法

    父子組件各自負責(zé),在table中嵌套了子表格后,首次加載表格時,父組件會實例化子組件并傳遞參數(shù),折疊后再次展開時,只會傳遞參數(shù),子組件的數(shù)據(jù)刷新就屬于子表格了。如 @@@code template #expandedRowRender=\\\"{ record }\\\" originIndex style= \\\"margin-left: 55px; margin-right: 50px; background-color:

    2024年02月09日
    瀏覽(22)
  • Vue 3 中 Ant Design Vue 如何自定義表格 Table 的表頭(列頭)內(nèi)容?

    Vue 3 中 Ant Design Vue 如何自定義表格 Table 的表頭(列頭)內(nèi)容?

    項目用到的是 Ant Design Vue (2.2.8) 組件庫,開發(fā)中遇到一個如下圖的表格,有些表頭文本后面會有一些自定義圖標(biāo),鼠標(biāo)移入圖標(biāo)時顯示對應(yīng)的審批時間提示。當(dāng)前列如果沒有審批時間就會隱藏圖標(biāo),只展示列頭文本。 使用 Ant Design Vue 基礎(chǔ)的 Table 組件是無法滿足這個場景的

    2024年02月16日
    瀏覽(24)
  • ant-design-vue的table表格行合并和列合并

    ant-design-vue的table表格行合并和列合并

    場景說明: 1、列合并:需要在表格最后一列進行合并,如圖: 思路:相當(dāng)于是第二列的最后一欄(colSpan )占比5列,第2列后面的4列最后一行(colSpan )占比0。 代碼示例 行合并需求如圖:將指定列的多行合并成一行 思路:和合并列差不多;第一列的第一行和第二行要合并

    2024年02月16日
    瀏覽(24)
  • 保姆級教程:Ant Design Vue中 a-table 嵌套子表格

    保姆級教程:Ant Design Vue中 a-table 嵌套子表格

    前端為Ant Design Vue 版本為1.6.2,使用的是vue2 Ant Design Vue中 a-table 嵌套子表格,說的可能稍微墨跡了點,不過重點內(nèi)容都說的比較詳細,利于新人理解,高手可以自取完整代碼 下圖為官網(wǎng)圖,會在每行最前面多一個加號,點擊后會展開,看到子表格的數(shù)據(jù) 子格嵌套從代碼層簡

    2024年02月01日
    瀏覽(31)
  • Ant Design Vue 中將 Table 表格中的數(shù)字類型轉(zhuǎn)換為文字的方法詳解

    在使用 Ant Design Vue 開發(fā)時,有時需要將 Table 表格中的數(shù)字類型字段轉(zhuǎn)換為對應(yīng)的文字表示,以提供更直觀的數(shù)據(jù)展示。本文將詳細介紹在 Ant Design Vue 中將 Table 表格中的數(shù)字類型轉(zhuǎn)換為文字的方法,幫助您靈活地處理數(shù)據(jù)展示需求。 在實際的應(yīng)用中,我們經(jīng)常會遇到需要將

    2024年02月11日
    瀏覽(49)
  • vue3 組合式 ant.design組件Table嵌套表格,從后端獲取數(shù)據(jù)并動態(tài)渲染

    在根據(jù)官方文檔使用ant.design中的嵌套表格時,發(fā)現(xiàn)官方文檔很多地方都不夠詳細。在過程中踩了不少坑,例如: 子表如何獲取父表的數(shù)據(jù)? 如何獲取子表的行索引? 如何讓子表的數(shù)據(jù)源來自父表該行的數(shù)據(jù)? 總之,最后還是磕磕絆絆做完了功能,于是第一時間把代碼整理

    2024年02月15日
    瀏覽(22)
  • 使用vue-easytable實現(xiàn)仿excel表格,支持可編輯、添加刪除行、虛擬表格等功能

    使用vue-easytable實現(xiàn)仿excel表格,支持可編輯、添加刪除行、虛擬表格等功能

    使用npm安裝vue-easytable 在 main.js 中寫入以下內(nèi)容: 代碼實現(xiàn) 效果 ?表格配置 參數(shù) 說明 類型 可選值 默認值 tableData 表格數(shù)據(jù) Array - - footerData 表格footer 匯總數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)和 tableData 一致 Array - - columns 列配置,具體項見下表 columns 配置 Array - - showHeader 是否展示表頭 Boolean -

    2024年02月08日
    瀏覽(26)
  • SpringBoot + Ant Design Vue實現(xiàn)數(shù)據(jù)導(dǎo)出功能

    SpringBoot + Ant Design Vue實現(xiàn)數(shù)據(jù)導(dǎo)出功能

    以xlsx格式導(dǎo)出所選表格中的內(nèi)容 要求進行分級 設(shè)置表頭顏色。 首先我們需要添加一個用于到導(dǎo)出的按鈕上去,像這樣的: 至于它放哪里,是什么樣式可以根據(jù)自己的需求決定。 按鈕有了,下來我們開始實現(xiàn)這個按鈕的功能。 導(dǎo)出數(shù)據(jù)確定。 表格設(shè)置: 表頭添加以下代碼

    2024年02月10日
    瀏覽(28)
  • ElementUI table表格組件實現(xiàn)雙擊編輯單元格失去焦點還原,支持多單元格

    ElementUI table表格組件實現(xiàn)雙擊編輯單元格失去焦點還原,支持多單元格

    在使用ElementUI table表格組件時有時需要雙擊單元格顯示編輯狀態(tài),失去焦點時還原表格顯示。 實現(xiàn)思路: 在數(shù)據(jù)中增加 isFocus:false .控制是否顯示 在table中用 @cell-dblclick 雙擊方法 先看效果: 上源碼:在表格模板中用scope.row.isFocus focusLabelName==\\\'姓名1控制多個單元格顯示 方法:

    2024年02月21日
    瀏覽(26)
  • 前端實現(xiàn)真實可動態(tài)變化進度條,axios+ Ant Design Vue實現(xiàn).

    前端實現(xiàn)真實可動態(tài)變化進度條,axios+ Ant Design Vue實現(xiàn).

    最近有一個新需求,要求在前端實現(xiàn)真實的進度條展示,我首先想到了 ?Ant Design Vue的upload組件, 在antd官網(wǎng)里upload組件不僅有上傳功能,并且還附帶了 Progress?進度條組件, 還擁有上傳成功和失敗的兩種狀態(tài)的區(qū)分,可以說是十分貼心了,如圖 ?但是很可惜這個組件上傳文件的話,你要

    2024年02月09日
    瀏覽(39)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包