vue2.0中新增一个按钮的流程以及其中部分方法

<template>
  <el-form :model="form" :rules="rules" ref="form" label-width="80px">
    <el-form-item label="姓名" prop="name">
      <el-input v-model="form.name"></el-input>
    </el-form-item>
    <el-form-item label="邮箱" prop="email">
      <el-input v-model="form.email"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="submitForm">提交</el-button>
      <el-button @click="resetForm">重置</el-button>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      form: {
        name: '',
        email: '',
      },
      rules: {
        name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
        email: [
          { required: true, message: '请输入邮箱', trigger: 'blur' },
          { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] },
        ],
      },
    };
  },
  methods: {
    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          alert('表单提交成功!');
        } else {
          alert('表单校验失败!');
          return false;
        }
      });
    },
    resetForm() {
      this.$refs.form.resetFields();
    },
  },
};
</script>
其中<el-buttom @click="">定义了一个方法,当用户点击这个按钮时,执行submitForm方法,submitForm方法在methods中定义
      submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          alert('表单提交成功!');
        } else {
          alert('表单校验失败!');
          return false;
        }
      });
    },
this.$refs.form.validate的作用为<el-form>表单中遍历所有绑定了prop属性的<el-form-item>表单项

Ant Design Vue提供了一个 `a-table` 组件,可以非常方便地实现带有单元格编辑、新增和删除功能的表格。以下是一个简单的示例: ```vue <template> <div> <a-table :columns="columns" :data-source="dataSource" @change="handleTableChange"> <template #name="text" #record="record" #index="index"> <a-input :value="record.name" @input="handleInputChange(index, 'name', $event.target.value)" /> </template> <template #age="text" #record="record" #index="index"> <a-input-number :value="record.age" @change="handleInputChange(index, 'age', $event)" /> </template> <template #action="text" #record="record" #index="index"> <a-popconfirm title="确定要删除吗?" @confirm="handleDelete(index)"> <a-button type="danger" icon="delete" /> </a-popconfirm> </template> <template #footer> <a-button type="primary" @click="handleAdd">新增</a-button> </template> </a-table> </div> </template> <script> import { ATable, AInput, AInputNumber, AButton, APopconfirm } from 'a-ui-components'; export default { name: 'EditableTable', components: { ATable, AInput, AInputNumber, AButton, APopconfirm, }, data() { return { columns: [ { title: '姓名', dataIndex: 'name', key: 'name' }, { title: '年龄', dataIndex: 'age', key: 'age' }, { title: '操作', dataIndex: 'action', key: 'action' }, ], dataSource: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, ], nextId: 3, }; }, methods: { handleInputChange(index, field, value) { // 更新数据源的记录 this.dataSource[index][field] = value; }, handleAdd() { // 新增一条记录 this.dataSource.push({ id: this.nextId, name: '', age: '' }); this.nextId++; }, handleDelete(index) { // 删除一条记录 this.dataSource.splice(index, 1); }, handleTableChange(data) { // 处理表格数据变化 this.dataSource = data; }, }, }; </script> ``` 在这个示例,我们定义了一个带有三列的表格:姓名、年龄和操作。姓名和年龄两列都可以进行单元格编辑,当用户修改单元格内容时,会触发 `handleInputChange` 方法,该方法会更新数据源的记录。操作列包含一个删除按钮,当用户点击该按钮时,会触发 `handleDelete` 方法,该方法会删除对应的记录。表格的底部还有一个新增按钮,当用户点击该按钮时,会新增一条空记录。 需要注意的是,我们没有为每条记录都添加一个唯一的 `id` 属性,而是直接在数据源操作记录。同时,我们定义了一个 `@change` 事件,当表格的数据发生变化时,会触发该事件,我们可以通过该事件来更新数据源的数据。 希望这个示例能够帮助您实现带单元格编辑、新增和删除功能的表格。如果您有任何问题,请随时与我联系。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值