前端开发您现在的位置是:首页 > 博客日志 > 前端开发

element ui el-talbe应用实例

<a href='mailto:'>微wx笑</a>的头像微wx笑 2022-07-15前端开发 5 0关键字: element ui  el-talbe  应用实例  

这是一个混合实例,不显示表头,只有一例,采用自定义模板,模板中使用 v-if 条件渲染,根据条件显示不同的样式;但是当你只需要一列,完全希望根据自己的模板来渲染,不需要表格的任何特性的话,就不如使用 v-for 来渲染。

element ui el-talbe应用实例bbU无知

image.pngbbU无知

这是一个混合实例,不显示表头,只有一例,采用自定义模板,模板中使用 v-if 条件渲染,根据条件显示不同的样式;bbU无知

         <el-table
                    v-loading="loading"
    :data="projectList"
                    :show-header="false"
    style="width: 100%; background: #E9EAED;"
    :header-cell-style="{background:'#70b6ff',color:'#FFF',fontSize:'16px'}"
     :cell-style="handleCellStyle"
     @row-click="handleRowClick" 
     empty-text="项目列表">
    <el-table-column
      prop="id"
      label="">
      <template slot-scope="scope">
        <div v-if="scope.row.is_default==1" style="width:100%; background:rgb(64,187,125);color: white; border-radius: 20px; padding: 20px;  font-size: 18px; line-height: 30px;">
          <h1 style="line-height:50px;">{{scope.row.pname}}</h1>
          <div class="el-row" style="margin-left: -10px; margin-right: -10px; border-bottom:1px solid white;">
            <div class="el-col el-col-12" style="padding-left: 10px; padding-right: 10px;">期初:{{scope.row.time_qc}}</div>
            <div class="el-col el-col-12" style="padding-left: 10px; padding-right: 10px;">期末:{{scope.row.time_qm}}</div>
            <div class="el-col el-col-17" style="padding-left: 10px; padding-right: 10px;">创建于:{{scope.row.time_qc}}</div>
            <div class="el-col el-col-7" style="padding-left: 10px; padding-right: 10px;">共:{{scope.row.acount}}条账单</div>
          </div>
          <div class="el-row" style="margin-left: -10px; margin-right: -10px;">
            <div class="el-col el-col-17" style="padding-left: 10px; padding-right: 10px;">
              <p><i class="el-icon-check" style="background: white;color: green;font-size: 20px; border-radius: 13px;
    padding: 3px;"></i>当前项目
              </p>
            </div>
            <div class="el-col el-col-7" style="padding-left: 10px; padding-right: 10px;">
              <el-button size="small" @click.stop="handleEdit(scope.row)"><i class="el-icon-edit"></i></el-button>
		      <el-button size="small" @click.stop="handleDelete(scope.row)"><i class="el-icon-delete"></i></el-button>
            </div>
          </div>
        </div>
        
	<div v-if="scope.row.is_default==0" style="width:100%; background:white;color:black;border-radius: 20px; padding: 20px;  font-size: 18px; line-height: 30px;">
          <h1 style="line-height:50px;">{{scope.row.pname}}</h1>
          <div class="el-row" style="margin-left: -10px; margin-right: -10px; border-bottom:1px solid white;">
            <div class="el-col el-col-12" style="padding-left: 10px; padding-right: 10px;">期初:{{scope.row.time_qc}}</div>
            <div class="el-col el-col-12" style="padding-left: 10px; padding-right: 10px;">期末:{{scope.row.time_qm}}</div>
            <div class="el-col el-col-17" style="padding-left: 10px; padding-right: 10px;">创建于:{{scope.row.time_qc}}</div>
            <div class="el-col el-col-7" style="padding-left: 10px; padding-right: 10px;">共:{{scope.row.acount}}条账单</div>
          </div>
          <div class="el-row" style="margin-left: -10px; margin-right: -10px;">
            <div class="el-col el-col-17" style="padding-left: 10px; padding-right: 10px;">
              <p v-if="scope.row.is_default==0"><i class="el-icon-check" style="background: white;color: white;font-size: 20px; border-radius: 13px;
    padding: 3px;"></i>切换为当前项目
              </p>
            </div>
            <div class="el-col el-col-7" style="padding-left: 10px; padding-right: 10px;">
              <el-button size="small" @click.stop="handleEdit(scope.row)"><i class="el-icon-edit"></i></el-button>
		      <el-button size="small" @click.stop="handleDelete(scope.row)"><i class="el-icon-delete"></i></el-button>
            </div>
          </div>
        </div>
       </template>
    </el-table-column>
  </el-table>

但是当你只需要一列,完全希望根据自己的模板来渲染,不需要表格的任何特性的话,就不如使用 v-for 来渲染。bbU无知

<div v-for="item in list">{{item}}</div>
<div v-for="(item,index) in list">{{item}}---{{index}}</div>
<div v-for="(value,key,index) in firstObject">{{value}}---{{key}}---{{index}}</div>
<div v-for="(value,index) in list" :key="index">{{value}}---{{index}}</div>
            <button @click="handle">增加</button>


bbU无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/front/2022-07-15/1309.html

很赞哦! () 有话说 ()