element-template slot-scope="scope"的使用


1. 實例效果:
2. 實例運用到的組件:

這里的實例 運用 element

  • 表格組件:el-table
  • 下拉菜單:el-dropdown
3.用法
< template slot-scope="scope" >{{ scope.$index }} {{ scope.row }}</template>

 

4. 實例代碼,詳細解釋在注釋中:
<el-table :data="tableData" style="width: 100%">
<!-- :data="用於存放請求數據回來的數組"  --> 
    <el-table-column label="索引值" width="400">
        <template slot-scope="scope">  <!--  slot-scope="scope" 這里取到當前單元格  -->
            <span>{{ scope.$index }}</span>  <!-- scope.$index 直接取到該單元格值  -->
        </template>
    </el-table-column>
    <el-table-column label="標題" width="350">
        <template slot-scope="scope">  <!-- slot-scope="scope" 這里取到當前單元格  -->
            <span>{{ scope.row.title }}</span>
            <!-- scope.row 直接取到該單元格對象,即是tableData[scope.$index]  -->
            <!-- .title 是對象里面的title屬性的值  -->
        </template>
    </el-table-column>
    <el-table-column label="操作">
        <template slot-scope="scope">  <!--  slot-scope="scope" 這里取到當前單元格  -->
            <el-dropdown size="medium" split-button type="primary">
                更多
                <el-dropdown-menu slot="dropdown">
                    <el-dropdown-item @click.native.prevent="handleEdit(scope.$index, scope.row)">編輯</el-dropdown-item>
                    <el-dropdown-item @click.native.prevent="getUp(scope.$index, scope.row)">上升</el-dropdown-item>
                    <el-dropdown-item @click.native.prevent="getDown(scope.$index, scope.row)">下降</el-dropdown-item>
                    <el-dropdown-item @click.native.prevent="handleDelete(scope.$index, scope.row)">刪除</el-dropdown-item>
                    <!-- 這里的點擊事件已經不是在根元素上了,因為多套了幾層結構。-->
                    <!-- 這里的點擊事件如果沒有加上 .native 則點擊無效!-->
                    <!--這里的點擊事件要加上 .native 表示監聽組件根元素的原生事件。-->
                    <!-- 這里的點擊事件不需要 .prevent 也可以實現相同效果 -->
                </el-dropdown-menu>
            </el-dropdown>
        </template>
    </el-table-column>
</el-table>   

 

javaScript:
前端刪除index要+1

data() {
    return {
       tableData: [{title:123,age:11},{title:456,age:18}]
        //---為了效果先給值,一般情況下為空,其實際值是后台接口請求回來的
      }
  },
methods:{
    handleDelete(index, row) {
      this.tableData.splice(index+1, 1);//---前端刪除index要+1 !!!!!!!
      
      //---下面是后端數據刪除
      axios.post(config.newsDelete,//---后端數據刪除
          {
            id: row.id//---傳入被刪除的對象的id值
          },
          {
            headers: {
              Authorization: "Bearer " + sessionStorage.getItem("token")//---請求頭驗證
            }
          }
        )
        .then(res => {
          this.rendering()//---刪除了重新渲染
        });
    }
}
  


作者:Christoles
鏈接:https://www.jianshu.com/p/6a9d247a4993


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM