單元格可編輯

elementUI Table表格內(nèi)容可編輯,效果如圖:


image.png
  • 大體思路
    采用div替代template標(biāo)簽澳淑,包裹input和div(if-else控制顯示隱藏)历等。
    在table表格綁定 "鼠標(biāo)雙擊" 事件用于單元格編輯序宦,同時(shí)input框綁定 "失焦" 事件用于調(diào)取接口修改信息。(注:使用自定義指令为狸,雙擊單元格時(shí)自動(dòng)獲取焦點(diǎn))
    使用“render-header" 重新渲染表頭(js控制)歼郭,添加提示信息。
<template>
  <el-table :data="tableData" v-loading="loading" max-height="730" @cell-dblclick="handleCellEnter" >
   <el-table-column label="姓名" prop="nurseName" width="200px" align="center" :render-header="renderHeader">
        <div class="item" slot-scope="scope">
          <el-input v-if="scope.row.NameInputShow" v-focus class="itemInput" placeholder="請(qǐng)輸入姓名" maxlength="20" v-model="scope.row.Name" @blur="NameBlur(scope.row)">
          </el-input>
          <div v-else class="itemTxt">{{scope.row.Name}}</div>
        </div>
      </el-table-column>
      <el-table-column label="手機(jī)號(hào)" prop="Phone" width="200px" align="center" :render-header="renderHeader">
        <div class="item" slot-scope="scope">
          <el-input v-if="scope.row.PhoneInputShow" v-focus class="itemInput itemPhone" placeholder="請(qǐng)輸入手機(jī)號(hào)" v-model="scope.row.Phone" maxlength="11" @blur="PhoneBlur(scope.row)">
          </el-input>
          <div v-else class="itemTxt">{{scope.row.Phone}}</div>
        </div>
      </el-table-column>
   </el-table>
</template>

<script>
export default {
  data() {
    return {
      // 需要編輯得屬性
      editProp: ["Name", "Phone"],
    };
  },
 directives: {
    focus: {
      inserted: function (el) {
        el.querySelector("input").focus();
      },
    },
  },
  methods: {
    /** 獲取數(shù)據(jù)時(shí)給每條數(shù)據(jù)添加字段 用于控制input框的顯示隱藏 */
   async initData() {
      const { body } = await this.$request();
      if (body?.list) {
        body.list.map((item) => {
          this.$set(item, "NameInputShow", false);
          this.$set(item, "PhoneInputShow", false);
        });
      },

    /**鼠標(biāo)雙擊cell */
    handleCellEnter(row, column, cell, event) {
      let property = column.property;
      if (property === "Name") {
        row.NameInputShow = true;
      }
      if (property === "Phone") {
        row.PhoneInputShow = true;
      }
    },

    /** 失去焦點(diǎn)調(diào)取后臺(tái)接口修改信息辐棒,并刷新列表 */
    PhoneBlur(item) {
      this.editNurseNameOrPhone(item);
    },
    NameBlur(item) {
      this.editNurseNameOrPhone(item);
    },

    /** js控制 重新渲染列頭信息 */
    renderHeader(h, { column }) {
      return h("div", [
        h("span", column.label + "  "),
        h(
          "el-tooltip",
          {
            props: {
              effect: "light",
              content: "雙擊此列內(nèi)容可修改",
              placement: "top",
            },
          },
          [
            h("i", {
              class: "el-icon-info",
            }),
          ]
        ),
      ]);
    },

  },
};
</script>

<style scoped>
/* 樣式可根據(jù)自己情況修改 */
.item {
  height: 50px;
  line-height: 50px;
}

.itemInput {
  width: 70%;
}

.itemPhone {
  width: 150px;
}

.itemTxt {
  min-width: 20px;
  min-height: 50px;
}
</style>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末病曾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子漾根,更是在濱河造成了極大的恐慌泰涂,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辐怕,死亡現(xiàn)場(chǎng)離奇詭異逼蒙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)寄疏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門是牢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人陕截,你說我怎么就攤上這事驳棱。” “怎么了农曲?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵社搅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)罚渐,這世上最難降的妖魔是什么却汉? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任瞎颗,我火速辦了婚禮昂儒,結(jié)果婚禮上绕娘,老公的妹妹穿的比我還像新娘。我一直安慰自己源织,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布微猖。 她就那樣靜靜地躺著谈息,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凛剥。 梳的紋絲不亂的頭發(fā)上侠仇,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音犁珠,去河邊找鬼逻炊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛犁享,可吹牛的內(nèi)容都是我干的余素。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼炊昆,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼桨吊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凤巨,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤视乐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后敢茁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佑淀,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年卷要,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渣聚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡僧叉,死狀恐怖奕枝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓶堕,我是刑警寧澤隘道,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響谭梗,放射性物質(zhì)發(fā)生泄漏忘晤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一激捏、第九天 我趴在偏房一處隱蔽的房頂上張望设塔。 院中可真熱鬧,春花似錦远舅、人聲如沸闰蛔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)序六。三九已至,卻和暖如春蚤吹,著一層夾襖步出監(jiān)牢的瞬間例诀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工裁着, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留繁涂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓跨算,卻偏偏與公主長(zhǎng)得像爆土,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诸蚕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容