表格组件

2022-02-14  本文已影响0人  前端许

<template>
查看编辑

  <el-table

    :data="tableData"

    border

    style="width: 100%">

    <el-table-column

      fixed

      prop="date"

      label="日期"

      width="150">

    </el-table-column>

    <el-table-column

      prop="name"

      label="姓名"

      width="120">

    </el-table-column>

    <el-table-column

      prop="province"

      label="省份"

      width="120">

    </el-table-column>

    <el-table-column

      prop="city"

      label="市区"

      width="120">

    </el-table-column>

    <el-table-column

      prop="address"

      label="地址"

      width="300">

    </el-table-column>

    <el-table-column

      prop="zip"

      label="邮编"

      width="120">

    </el-table-column>

    <el-table-column

      fixed="right"

      label="操作"

      width="100">

      <template slot-scope="scope">

        <el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>

        <el-button type="text" size="small">编辑</el-button>

      </template>

    </el-table-column>

  </el-table>

</template>

<script>

  export default {

    methods: {

      handleClick(row) {

        console.log(row);

      }

    },

    data() {

      return {

        tableData: [{

          date: '2016-05-02',

          name: '王小虎',

          province: '上海',

          city: '普陀区',

          address: '上海市普陀区金沙江路 1518 弄',

          zip: 200333

        }, {

          date: '2016-05-04',

          name: '王小虎',

          province: '上海',

          city: '普陀区',

          address: '上海市普陀区金沙江路 1517 弄',

          zip: 200333

        }, {

          date: '2016-05-01',

          name: '王小虎',

          province: '上海',

          city: '普陀区',

          address: '上海市普陀区金沙江路 1519 弄',

          zip: 200333

        }, {

          date: '2016-05-03',

          name: '王小虎',

          province: '上海',

          city: '普陀区',

          address: '上海市普陀区金沙江路 1516 弄',

          zip: 200333

        }]

      }

    }

  }

</script>

模态框组件:

<el-table :data="tableData" @selection-change="handleSelectionChange"

    ref="multipleTable">

      <el-table-column

        type="selection"

        width="55">

      </el-table-column>

      <el-table-column prop="add_time" label="添加日期" width="150">

        <template slot-scope="scope">

          <span>{{ scope.row.add_time | timeFilter }}</span>

        </template>

      </el-table-column>

      <el-table-column prop="goods_name" label="商品名称" width="300">

        <template slot-scope="scope">

          <div v-if="scope.row.goods_id == inputHandle.goods_id">

            <span v-if="editFlag">{{ scope.row.goods_name }}</span>

            <el-input v-model="scope.row.goods_name" v-else></el-input>

          </div>

          <div v-else>{{ scope.row.goods_name }}</div>

        </template>

      </el-table-column>

      <el-table-column prop="goods_number" label="商品数量" width="120">

        <template slot-scope="scope">

          <div v-if="scope.row.goods_id == inputHandle.goods_id">

            <span v-if="editFlag">{{ scope.row.goods_number }}</span>

            <el-input v-model="scope.row.goods_number" v-else></el-input>

          </div>

          <div v-else>{{ scope.row.goods_number }}</div>

        </template>

      </el-table-column>

      <el-table-column prop="goods_price" label="商品价格" width="120">

        <template slot-scope="scope">

          <!-- 当选择的id和表格的当前行的id匹配则显示input -->

          <div v-if="scope.row.goods_id == inputHandle.goods_id">

            <span v-if="editFlag">{{ scope.row.goods_price }}</span>

            <el-input v-model="scope.row.goods_price" v-else></el-input>

          </div>

          <div v-else>{{ scope.row.goods_price }}</div>

        </template>

      </el-table-column>

      <el-table-column prop="goods_weight" label="商品重量" width="120">

        <template slot-scope="scope">

          <div v-if="scope.row.goods_id == inputHandle.goods_id">

            <span v-if="editFlag">{{ scope.row.goods_weight }}</span>

            <el-input v-model="scope.row.goods_weight" v-else></el-input>

          </div>

          <div v-else>{{ scope.row.goods_weight }}</div>

        </template>

      </el-table-column>

      <el-table-column prop="goods_state" label="商品状态" width="120">

        <template slot-scope="scope">

          <span v-if="scope.row.goods_state == '0'">未通过</span>

          <span v-else-if="scope.row.goods_state == '1'">审核中</span>

          <span v-else-if="scope.row.goods_state == '2'">已审核</span>

          <span v-else>未知状态</span>

        </template>

      </el-table-column>

      <el-table-column fixed="right" label="操作" width="120">

        <template slot-scope="scope">

          <el-button

            type="danger"

            icon="el-icon-delete"

            size="small"

            circle

            @click="del(scope.row)"

          ></el-button>

          <template v-if="scope.row.goods_id == inputHandle.goods_id">

            <el-button

              type="primary"

              icon="el-icon-edit"

              circle

              v-if="editFlag"

              size="small"

              @click="edit(scope.row)"

            ></el-button>

            <el-button

              type="success"

              size="small"

              icon="el-icon-check"

              circle

              v-else

              @click="save(scope.row)"

            ></el-button>

          </template>

          <template v-else>

            <el-button

              type="primary"

              icon="el-icon-edit"

              size="small"

              circle

              @click="edit(scope.row)"

            ></el-button>

          </template>

        </template>

      </el-table-column>

    </el-table>

分页组件

<el-pagination

      style="margin-top:10px;"

      @size-change="handleSizeChange"

      @current-change="handleCurrentChange"

      :current-page="currentPage"

      :page-sizes="[5, 10, 15, 20]"

      :page-size="pagesize"

      layout="total, sizes, prev, pager, next, jumper"

      :total="total">

    </el-pagination>

上一篇下一篇

猜你喜欢

热点阅读