Vue element-ui 前端頁面使用后端接口


首先:

1.布局:使用一個面包屑導航:

<!--    面包屑導航-->
    <el-breadcrumb separator="/">
      <el-breadcrumb-item :to="{ path: '/home' }">首頁</el-breadcrumb-item>>
      <el-breadcrumb-item>權限管理</el-breadcrumb-item>
      <el-breadcrumb-item>權限列表</el-breadcrumb-item>
    </el-breadcrumb>

對於布局或許還需要設置面包屑的css樣式,將card的margin-top設置一下

展示結果;

 

2:card頁面:

<card>
 占位
</card>

card中的代碼是這樣的:(權限管理但是還沒有美化!)

    <el-card>
<!--      border 加邊框線 stripe加斑馬線--隔行變色-->
      <el-table :data="rightsList" border stripe>
        <el-table-column type="index"></el-table-column>
<!--        prop綁定的是:data數組中每一個元素對應的值-->
        <el-table-column label="權限名稱" prop="authName"></el-table-column>
        <el-table-column label="路徑" prop="path"></el-table-column>
        <el-table-column label="權限等級" prop="level"></el-table-column>

      </el-table>
    </el-card>

 

美化操作~!

 

3:函數,定義 方法:

<script>
export default{
  data(){
    return{
      //權限列表
      rightsList:[]   // 定義一個rightList對象
    }
  },
  created() {
    this.getRightslist()    // 獲取權限列表
  },
  methods: { async getRightslist() { // http的async 和 await方法,其中返回的是promise,需要await簡化操作 const {data:res}=await this.$http.get('rights/list') //{data:res} 解析data對象 if (res.meta.status!==200){ // status不為200說明獲取失敗 return this.$message.error('獲取權限列表失敗') } this.rightsList=res.data console.log(this.rightsList) }
  }
}
</script>

作用域插槽:

 <el-table-column label="權限等級" prop="level">
          <template  slot-scope="scope"> // scope.row可以提取每一列的值
            <el-tag v-if="scope.row.level==='0'">一級權限</el-tag>
            <el-tag v-if="scope.row.level==='1' " type="success">二級權限</el-tag>
            <el-tag v-if="scope.row.level==='2'" type="warning">三級權限</el-tag>
          </template>
        </el-table-column>

展示效果:

 

 完整代碼:

<template>
  <div>
<!--    面包屑導航-->
    <el-breadcrumb separator="/">
      <el-breadcrumb-item :to="{ path: '/home' }">首頁</el-breadcrumb-item>>
      <el-breadcrumb-item>權限管理</el-breadcrumb-item>
      <el-breadcrumb-item>權限列表</el-breadcrumb-item>
    </el-breadcrumb>
<!--    卡片視圖-->
    <el-card>
<!--      border 加邊框線 stripe加斑馬線--隔行變色-->
      <el-table :data="rightsList" border stripe>
        <el-table-column type="index"></el-table-column>
<!--        prop綁定的是:data數組中每一個元素對應的值-->
        <el-table-column label="權限名稱" prop="authName"></el-table-column>
        <el-table-column label="路徑" prop="path"></el-table-column>
        <el-table-column label="權限等級" prop="level">
          <template slot-scope="scope">
            <el-tag v-if="scope.row.level==='0'">一級權限</el-tag>
            <el-tag v-if="scope.row.level==='1' " type="success">二級權限</el-tag>
            <el-tag v-if="scope.row.level==='2'" type="warning">三級權限</el-tag>
          </template>
        </el-table-column>

      </el-table>
    </el-card>
  </div>
</template>
<script>
export default{
  data(){
    return{
      //權限列表
      rightsList:[]
    }
  },
  created() {
    this.getRightslist()
  },
  methods: {
    async getRightslist() {
      const {data:res}=await this.$http.get('rights/list')
      if (res.meta.status!==200){
        return this.$message.error('獲取權限列表失敗')
      }
      this.rightsList=res.data
      console.log(this.rightsList)
    }
  }
}
</script>

<style lang="less" scoped>
</style>

 


免責聲明!

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



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