亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ant design vue中表格如何實現指定格式渲染

發布時間:2020-10-29 21:45:41 來源:億速云 閱讀:851 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關ant design vue中表格如何實現指定格式渲染,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

渲染方法1:

指定渲染函數:

const columns = [
   {
    title: '排名',
    dataIndex: 'key',
    customRender: renderContent // 渲染函數的規則
   }, {
    title: '搜索關鍵詞',
    dataIndex: 'keyword',
    customRender: (text, row, index) => {
      if (index < 4) { // 前4行數據以a標簽的形式被渲染
       return <a href="javascript:;" rel="external nofollow" rel="external nofollow" >{text}</a>
      }
      return { // 否則以獨占4列的文本形式被渲染
       children: text,
       attrs: {
        colSpan: 4
       }
      }
    }
   }
]
const renderContent = (value, row, index) => {
 const obj = {
  children: value,
  attrs: {}
 }
 return obj
}

渲染方法2:

直接調用對應插槽模板:

<a-table :columns="columns" :dataSource="data" :pagination='pagination'>
  <template slot="operation">
    <a-select placeholder="選擇操作"  @change="listHandleChange">
     <a-select-option value="1">項目進度</a-select-option>
     <a-select-option value="2">質量管控</a-select-option>
     <a-select-option value="3">運維監控</a-select-option>
    </a-select>
  </template>
  <template slot='progress' slot-scope="text,record">
     <span>{{text}}</span>
     <span v-if='record.progressstatus'><a-icon class='arrow-up' type="arrow-up" />    </span>
     <span v-if='!record.progressstatus'><a-icon class='arrow-down' type="arrow-down" /></span>
  </template>
</a-table>
 
const columns = [
   {
    title: '編號',
    dataIndex: 'number',
    customRender: renderContent
   }, {
    title: '項目名稱',
    dataIndex: 'name',
    customRender: (text, row, index) => {
     return {
      children: <a href="javascript:;" rel="external nofollow" rel="external nofollow" >{text}</a>,
      attrs: {}
     }
    } 
   }, {
    title: '項目進度',
    dataIndex: 'progress',
    scopedSlots: { customRender: 'progress' } // 模板中對應的slot-scope可以用來傳遞參數,其中第一個參數是當前字段對應的值progress,第二個參數是當前字段對應的所有值對象,即整個data[n]
   }, {
    title: '操作',
    dataIndex: 'operate',
    scopedSlots: { customRender: 'operation' } // 直接對應插槽名為operation的模板
   }
]
 
const data = [
  {
  key: 6,
  number: 6,
  name: '雅典娜',
  progress: '88%',
  progressstatus: 1
 }
]

補充知識:Ant design vue框架,table控件中customRow用法的一個坑

今天在寫代碼時,用到Ant design框架中的<a-table>控件,其中的一個需求是:點擊table中的一行,需要執行一些操作。因為沒有默認的行點擊事件,需要用到customRow來進行自定義。

這個方法,在官方的文檔中,有使用說明,如下:

<Table
 customRow={(record) => {
  return {
   props: {
    xxx... //屬性
   },
   on: { // 事件
    click: (event) => {},    // 點擊行
    dblclick: (event) => {},
    contextmenu: (event) => {},
    mouseenter: (event) => {}, // 鼠標移入行
    mouseleave: (event) => {}
   },

  };
 )}
 customHeaderRow={(column) => {
  return {
   on: {
    click: () => {},    // 點擊表頭行
   }
  };
 )}
/>

官方的這個寫法,應該是屬于lamada的語法,今天我在使用時,也是使用這種寫法。

如下:

methods:{
 getDetailList(id){
  //執行具體的操作
  },
 rowClick: (record, index) => ({
    // 事件
    on: {
     click: event => {
      // 點擊該行時要做的事情
      console.log('record', record)
      console.log('index', index)
      console.log('event', event)
      this.getDetailList(record.id) //這一行會報錯,報未定義
     }
    }
   })
  }

在執行時,會報錯,如下:

[Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘getDetailList' of undefined”。

不使用lamada表達式,則不會出現這樣的問題,修改后的rowClick方法如下:

rowClick(record, index) {
   return {
    on: {
     click: () => {
      console.log(record, index)
      this.getDetailList(record.matbillid)
     }
    }
   }
  },

以上就是ant design vue中表格如何實現指定格式渲染,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巧家县| 绥中县| 衡水市| 湖州市| 开原市| 绥德县| 义马市| 鄂尔多斯市| 青海省| 株洲县| 靖边县| 通辽市| 泌阳县| 贵定县| 正定县| 栖霞市| 内乡县| 云梦县| 德令哈市| 大余县| 沙田区| 河北区| 河东区| 镇江市| 九台市| 定州市| 康马县| 信宜市| 大安市| 灌南县| 玛沁县| 安阳市| 怀安县| 丽水市| 都匀市| 收藏| 剑河县| 翁牛特旗| 镇远县| 昔阳县| 洪湖市|