溫馨提示×

溫馨提示×

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

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

render函數(shù)如何ElementUi中應(yīng)用

發(fā)布時間:2021-01-26 15:56:17 來源:億速云 閱讀:547 作者:Leah 欄目:web開發(fā)

本篇文章給大家分享的是有關(guān)render函數(shù)如何ElementUi中應(yīng)用,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

首先引入官方demo

<el-table :data="tableData"  :border="true">
 <el-table-column prop="date" label="日期" min-width="20%" align="center">
 </el-table-column>
 <el-table-column prop="name" label="姓名" min-width="60%" align="center">
 </el-table-column>
 <el-table-column prop="address" label="地址" align="center">
 </el-table-column>
</el-table>

實現(xiàn)效果

render函數(shù)如何ElementUi中應(yīng)用

之后為姓名列添加 :render-header=”renderHeader” 綁定render函數(shù)

<el-table-column :render-header="renderHeader" prop="name" label="姓名" min-width="60%" align="center" >
</el-table-column>

在methods中實現(xiàn)renderHeader方法

methods: {
 renderHeader (createElement) {
  let self = this
  return createElement('div', {
  domProps: {
   innerHTML: `
    <span class="span">姓名</span>
    <input type="text" class="input">
    `
  },
  style: {
   padding: '0',
   lineHeight: '1',
   marginTop: '5px',
   width: '100%'
  },
  on: {
   '!click': function (e) {
   let span = document.getElementsByClassName('span')[0]
   let input = document.getElementsByClassName('input')[0]
   span.style.display = 'none'
   input.style.display = 'inline-block'
   input.focus()
   event.stopPropagation()
   }
  }
  })
 }
 },

在less文件中配合實現(xiàn)DOM的展示和隱藏

.span {
  display: inline-block;
}
.input {
  display: none;
}

此時已經(jīng)可以實現(xiàn)點擊表頭出現(xiàn)輸入框

render函數(shù)如何ElementUi中應(yīng)用

之后需要為其綁定input事件

on: {
 '!click': function (e) {
 let span = document.getElementsByClassName('span')[0]
 let input = document.getElementsByClassName('input')[0]
 span.style.display = 'none'
 input.style.display = 'inline-block'
 input.focus()
 event.stopPropagation()
 },
 input: function (event) {
  self.inputValue = event.target.value // 在data中定義inputValue
 }
}

之后我們就可以監(jiān)聽data中的inputValue,實現(xiàn)一些列業(yè)務(wù)邏輯

watch: {
 inputValue: function () {
  console.log(this.inputValue)
 }
 }

以上就是render函數(shù)如何ElementUi中應(yīng)用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI