Element常见组件

Element常见组件

Table组件

ElementView.vue的文件内容如下,更多配置和样式可查看官方文档

<template>

  <div>

    <el-row>

      <el-button>默认按钮</el-button>

      <el-button type="primary">主要按钮</el-button>

      <el-button type="success">成功按钮</el-button>

      <el-button type="info">信息按钮</el-button>

      <el-button type="warning">警告按钮</el-button>

      <el-button type="danger">危险按钮</el-button>

    </el-row>

  

    <el-table :data="tableData" style="width: 100%">

      <el-table-column prop="date" label="日期" width="180"> </el-table-column>

      <el-table-column prop="name" label="姓名" width="180"> </el-table-column>

      <el-table-column prop="address" label="地址"> </el-table-column>

    </el-table>

  </div>

</template>

  

<script>

export default {

  data() {

    return {

      tableData: [

        {

          date: "2016-05-02",

          name: "王小虎",

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

        },

        {

          date: "2016-05-04",

          name: "王小虎",

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

        },

        {

          date: "2016-05-01",

          name: "王小虎",

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

        },

        {

          date: "2016-05-03",

          name: "王小虎",

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

        },

      ],

    };

  },

};

</script>

  

<style>

</style>

效果如图:

分页组件

Pagination分页:数据量过多时,使用分页组件分解数据

ElementView.vue的文件内容如下,更多配置请查看:官方文档

<template>

  <div>
  
    <el-pagination

      background

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

      @size-change="handleSizeChange"

      @current-change="handleCurrentChange"

      :total="1000"

    >

    </el-pagination>

  </div>

</template>

  

<script>

export default {

  methods: {

    handleSizeChange: function (val) {

      alert("每页记录数变化" + val);

    },

    handleCurrentChange: function (val) {

      alert("页码发生变化" + val);

    },

  },

};

</script>

<style>

</style>

效果如图:

Dialog对话框

在保留当前页面状态的情况下,告知用户并承载相关操作。

ElementView.vue的文件内容如下,更多配置请查看:官方文档

<template>

  <div>

    <el-button type="text" @click="dialogTableVisible = true"

      >打开嵌套表格的 Dialog</el-button

    >

    <el-dialog title="收货地址" :visible.sync="dialogTableVisible">

      <el-table :data="gridData">

        <el-table-column

          property="date"

          label="日期"

          width="150"

        ></el-table-column>

        <el-table-column

          property="name"

          label="姓名"

          width="200"

        ></el-table-column>

        <el-table-column property="address" label="地址"></el-table-column>

      </el-table>

    </el-dialog>

  </div>

</template>

  

<script>

export default {

  data() {

    return {

      gridData: [

        {

          date: "2016-05-02",

          name: "王小虎",

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

        },

        {

          date: "2016-05-04",

          name: "王小虎",

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

        },

        {

          date: "2016-05-01",

          name: "王小虎",

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

        },

        {

          date: "2016-05-03",

          name: "王小虎",

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

        },

      ],

      dialogTableVisible: false,

    };

  },

};

</script>

  

<style>

</style>

效果如图:

Form表单

由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据。

ElementView.vue的文件内容如下,更多配置请查看:官方文档。

<template>

  <div>

    <el-button type="text" @click="dialogFormVisible = true"

      >打开Form表单的 Dialog</el-button

    >

    <el-dialog title="Form表单" :visible.sync="dialogFormVisible">

      <el-form ref="form" :model="form" label-width="80px">

        <el-form-item label="活动名称">

          <el-input v-model="form.name"></el-input>

        </el-form-item>

        <el-form-item label="活动区域">

          <el-select v-model="form.region" placeholder="请选择活动区域">

            <el-option label="区域一" value="shanghai"></el-option>

            <el-option label="区域二" value="beijing"></el-option>

          </el-select>

        </el-form-item>

        <el-form-item label="活动时间">

          <el-col :span="11">

            <el-date-picker

              type="date"

              placeholder="选择日期"

              v-model="form.date1"

              style="width: 100%"

            ></el-date-picker>

          </el-col>

          <el-col class="line" :span="2">-</el-col>

          <el-col :span="11">

            <el-time-picker

              placeholder="选择时间"

              v-model="form.date2"

              style="width: 100%"

            ></el-time-picker>

          </el-col>

        </el-form-item>

        <el-form-item>

          <el-button type="primary" @click="onSubmit">提交</el-button>

          <el-button>取消</el-button>

        </el-form-item>

      </el-form>

    </el-dialog>

  </div>

</template>

  

<script>

export default {

  data() {

    return {

      form: {

        name: "",

        region: "",

        date1: "",

        date2: "",

      },

      dialogFormVisible: false,
    };
  },

  methods: {

    onSubmit() {

      alert(JSON.stringify(this.form));

    },

};

</script>

  

<style>

</style>

效果如图:

注意点在于:如何采集表单数据,通过v-model绑定到js对象,并提交数据。