v-solt 插槽

一、什么是插槽唐断?

插槽就是子組件中选脊,提供給父組件使用的一個(gè)占位符,用<slot></slot>表示脸甘,父組件可以在這個(gè)占位符中填充任何模塊代碼恳啥,如HTML、組件等丹诀,填充的內(nèi)容會(huì)替換子組件中的<slot></slot>標(biāo)簽

  • 子組件中設(shè)置了一個(gè)占位符<slot></slot>

  • 父組件中使用子組件內(nèi)部去填充任何內(nèi)容钝的,都能將內(nèi)容替換掉成子組件中的占位符
    加上v-slot:default表示為默認(rèn)插槽

  • 效果


二翁垂、具名插槽

1. 具名插槽其實(shí)就是給插槽取了個(gè)名字
2. 一個(gè)子組件可以放多個(gè)插槽,而且可以放不同的地方硝桩,而父組件填充內(nèi)容的時(shí)候沿猜,可以根據(jù)這個(gè)名字把內(nèi)容填充到對(duì)應(yīng)的插槽中
  • 子組件中設(shè)置兩個(gè)slot占位符,并用name屬性取上head和foot的插槽名字

  • 父組件中是用template標(biāo)簽包裹兩個(gè)標(biāo)簽碗脊,并用v-slot: 名字綁定兩個(gè)插槽

  • 效果


注意:在父組件中啼肩,無論綁定插槽的順序如何,模塊顯示的順序都是按照子組件中望薄,插槽的順序顯示的

三疟游、默認(rèn)插槽

默認(rèn)插槽就是指沒有名字的插槽,子組件未定義的名字的插槽痕支,父級(jí)將會(huì)把 未指定插槽的填充的內(nèi)容填充到默認(rèn)插槽中。
  • 子組件中直接定義插槽蛮原,沒有名字


  • 父組件中v-slot:default表示默認(rèn)插槽

  • 效果


四卧须、作用域插槽

1. 作用域插槽其實(shí)就是帶數(shù)據(jù)的插槽,即帶參數(shù)的插槽
2. 父組件可根據(jù)子組件傳過來的插槽數(shù)據(jù)來進(jìn)行不同的方式展現(xiàn)和填充插槽內(nèi)容
  • 在子組件Listitem.vue中去定義一個(gè)具名插槽儒陨,然后將需要傳入的值綁定在一個(gè)屬性上花嘶,這里是content

  • 在父組件List.vue中去綁定具名插槽,并給這個(gè)插槽設(shè)置一個(gè)名字titleSlot蹦漠,獲取子組件傳過來的參數(shù)時(shí)椭员,用titleSlot.content獲取當(dāng)前傳過來的內(nèi)容

  • 效果


五、在vue表格組件中中去獲取當(dāng)前行

業(yè)務(wù)場(chǎng)景

在vue項(xiàng)目中笛园,使用elementui中的表格組件el-tableel-table-column去顯示表格數(shù)據(jù)的時(shí)候隘击,每一行都會(huì)有一個(gè)編輯和刪除按鈕,但是在點(diǎn)擊按鈕的時(shí)候如何確認(rèn)點(diǎn)擊的是否是當(dāng)前需要?jiǎng)h除或修改的行呢研铆,這里也用到了v-solt埋同,下面詳細(xì)的舉個(gè)例子

通過 Scoped slot 可以獲取到 row, column, $index 和 store(table 內(nèi)部的狀態(tài)管理)的數(shù)據(jù)

1) 在el-table-column標(biāo)簽下去用templete標(biāo)簽,在templete標(biāo)簽中去綁定一個(gè)v-slot="scope"
2) 定義按鈕棵红,在按鈕上設(shè)置單擊事件凶赁,點(diǎn)擊事件傳參數(shù)scope.row
<el-button size="mini" @click="handleUpdate(scope.row)">編輯</el-button>
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">刪除</el-button>
3) 在點(diǎn)擊事件的方法中去接收一個(gè)參數(shù)row,這個(gè)row就是當(dāng)前行的信息
handleUpdate(row) {
  console.log("當(dāng)前行row>>>", row);
},
  • 打印結(jié)果


4) 完整代碼
  <el-table-column label="操作" width="160px">
    <!-- 通過 Scoped slot 可以獲取到 row, column, $index 和 store(table 內(nèi)部的狀態(tài)管理)的數(shù)據(jù) -->
    <template v-slot="scope">
      <el-button size="mini" @click="handleUpdate(scope.row)">編輯</el-button>
      <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">刪除</el-button>
    </template>
  </el-table-column>
// 編輯一條數(shù)據(jù)的方法
handleUpdate(row) {
  console.log("當(dāng)前行row>>>", row);
},
// 刪除一條數(shù)據(jù)的方法
handleDelete(index, row) {
  // JSON.stringify() 將json對(duì)象轉(zhuǎn)換成字符串
  console.log(`index : ${index}, row : ${JSON.stringify(row)}`);
  const uid = row.uid;
  console.log("uid>>", uid);
  // 提示框
  this.$confirm("是否刪除這條記錄逆甜?", "提示", {
    confirmButtonText: "確定",
    cancelButtonText: "取消",
    type: "warning" // 彈框類型為警告
  })
    .then(() => {
      RequestUserDelete(uid)
        .then(res => {
          if (res.resultCode === 1) {
            // 刪除成功后虱肄,重新過請(qǐng)求一次列表數(shù)據(jù)
            this.onRequestUserList(this.currentNo, this.pageSize);
            this.$message({
              type: "success",
              message: "刪除成功!"
            });
          }
        })
        .catch(err => {
          console.log(err);
        });
    })
    .catch(() => {
      this.$message({
        type: "info",
        message: "取消刪除!"
      });
    });
},
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市交煞,隨后出現(xiàn)的幾起案子咏窿,更是在濱河造成了極大的恐慌,老刑警劉巖错敢,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翰灾,死亡現(xiàn)場(chǎng)離奇詭異缕粹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纸淮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門平斩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咽块,你說我怎么就攤上這事绘面。” “怎么了侈沪?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵揭璃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我亭罪,道長(zhǎng)瘦馍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任应役,我火速辦了婚禮情组,結(jié)果婚禮上惰爬,老公的妹妹穿的比我還像新娘积蜻。我一直安慰自己,他們只是感情好闲询,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布袍祖。 她就那樣靜靜地躺著底瓣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蕉陋。 梳的紋絲不亂的頭發(fā)上捐凭,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音寺滚,去河邊找鬼柑营。 笑死,一個(gè)胖子當(dāng)著我的面吹牛村视,可吹牛的內(nèi)容都是我干的官套。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蚁孔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奶赔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杠氢,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤站刑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鼻百,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绞旅,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摆尝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了因悲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堕汞。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖晃琳,靈堂內(nèi)的尸體忽然破棺而出讯检,到底是詐尸還是另有隱情,我是刑警寧澤卫旱,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布人灼,位于F島的核電站,受9級(jí)特大地震影響顾翼,放射性物質(zhì)發(fā)生泄漏投放。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一暴构、第九天 我趴在偏房一處隱蔽的房頂上張望跪呈。 院中可真熱鬧,春花似錦取逾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至债蜜,卻和暖如春晴埂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寻定。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工儒洛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狼速。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓琅锻,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親向胡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恼蓬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355