表格编辑 删除对应不通的弹窗

代码:

<template>
  <div class="">
       <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-column
        prop="address"
        label="操作">
        <template>
          <div>
            <el-button type="primary" @click="$refs.dialogRef.fn(true)">编辑</el-button>
            
            <el-button type="success" @click="$refs.dialogRef.fn(false)">新增</el-button>
          </div>
        </template>
      </el-table-column>
    </el-table>
  
     <!-- <dialog ref="dialogRef"> -->
      <Dialog  ref="dialogRef"/>
  </div>
</template>

<script>
import Dialog   from "./components/dialog.vue";
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 弄'
          }]
    
  }
},
  components:{
     Dialog
  },
  name: '',
  methods: {

  }
}
</script>

<style scoped>

</style>

弹窗的代码:

<template>
  <div class="">
<el-dialog
  title="提示"
  :visible.sync="dialogVisible"
  width="30%"
  :before-close="handleClose">
   <el-form :model="form"  :rules="rules">
    <el-form-item label="姓名" prop="name">
        <el-input v-model="form.name"></el-input>
    </el-form-item>
      <el-form-item label="年龄" prop="age">
        <el-input v-model="form.age"></el-input>

    </el-form-item>
   </el-form>
  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
</el-dialog>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        form:{
          name:'',//姓名
          age:''  //年龄
        },
          rules:{
            name:[{
              required:true,
              message:'必填',
              trigger:'blur'
            }],
             age:[{
              required:true,
              message:'必填',
              trigger:'blur'
            }]

         },
        dialogVisible: false
      };
    },
  
    methods: {
    
    }
  };
</script>

<style scoped>

</style>

视图:

 

 

 

实现的具体思路:

1.弹窗的标题控制

 

 

1.默认是新增

在点击按钮的时候的逻辑处理。

 传入的参数来控制是新增还是编辑

 默认情况下是新增的。

当点击新增的时候。

this.isEdit=false

isEdit等于false

此时对应的标题:

 调用的接口:

 

(2)当点击编辑的时候

传入过来的值为true

此时this.isEdit=true

此时对应的标题:

 调用的接口:

 

 总结;

1.两个按钮同时用一个弹窗的时候,通过isEdit来控制不同的场景。

2.也就是一个布尔值来控制标题的显示和接口的调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用 Element UI 动态表格,您可以按照以下步骤进行编写: 1. 首先,安装 Element UI 库并在项目中引入相应的样式和组件。 2. 在组件中定义一个表格,包括表头和数据部分。表头中的每一列需要定义其名称和字段名。 3. 定义一个数据对象,在其中包含表格需要展示的数据以及相关的操作,如增加、删除编辑等。该数据对象需要在组件的 data 属性中进行定义。 4. 在表格中使用 v-for 指令循环遍历数据对象中的每一条数据,并将数据渲染到表格中。需要注意的是,v-for 循环需要使用一个 key 值来唯一标识每一个数据项。 5. 为表格中的每一列设置相应的编辑器。Element UI 提供了多种编辑器,如 input、select、date 等,可以根据需要进行选择和配置。 6. 在编辑器中绑定相应的数据字段,以便用户对表格中的数据进行编辑。需要注意的是,编辑器需要设置为表格中的一列,而不能作为表格的一项。 7. 添加相应的操作按钮,如添加、删除、保存等。对于每一个操作按钮,需要定义相应的事件处理函数,并将该函数绑定到按钮的点击事件上。 通过以上步骤,您就可以使用 Element UI 动态表格了。需要注意的是,该表格的具体实现方式可能会因为您的需求而略有不同,上述步骤仅供参考。 ### 回答2: Element UI 是一套基于 Vue.js 的组件库,其中包括了丰富的常用组件,如表格、表单、等等。动态表格是 Element UI 中的一个组件,可以根据传入的数据进行动态展示和操作。 要使用 Element UI 的动态表格,需要先在项目中引入 Element UI 的相关文件,可以通过 npm 安装,在 Vue 文件中引入相关组件。 在开始编写动态表格之前,需要先准备表格所需的数据。这些数据可以从后端接口获取,也可以在前端静态定义。 接下来就可以在 Vue 的模板中编写动态表格了。可以使用 Element UI 提供的 `<el-table>` 组件来创建表格容器,使用 `<el-table-column>` 组件来定义表格的列。 在 `<el-table>` 中,可以使用 `:data` 属性来绑定表格的数据源。例如:`:data="tableData"`,其中 `tableData` 是事先准备好的数据数组。 在 `<el-table-column>` 中,可以使用 `prop` 属性来定义列所对应的数据字段,例如:`:prop="item.name"`,其中 `item` 是 `tableData` 中的每一行数据对象,`name` 是该对象的一个属性。 除了 `prop` 属性,`<el-table-column>` 还提供了其他的属性来控制列的表现形式,如 `label` 属性来定义列的标题,`width` 属性来定义列的宽度等等。 在编写完动态表格的模板后,还可以通过 Element UI 提供的其他组件来完善表格的交互功能,例如分页组件、筛选组件等等。 最后,可以在 Vue 的相关逻辑中对表格的数据进行增删改查等操作,例如通过按钮触发事件修改表格数据。 总结来说,使用 Element UI 的动态表格,首先需要引入相关文件,然后准备好表格的数据,通过 `<el-table>` 和 `<el-table-column>` 组件编写表格模板,最后通过对数据进行操作实现动态效果。这样,就可以实现一个简单的 Element UI 动态表格。 ### 回答3: Element UI 是基于 Vue.js 的一套组件库,提供了许多常用的 UI 组件,其中包括动态表格。以下是使用 Element UI 动态表格的基本步骤: 1. 引入 Element UI 组件库。在项目的入口文件 main.js 中,通过导入 import ElementUI from 'element-ui',并在 Vue 实例中使用 Vue.use(ElementUI) 来全局注册 Element UI 组件。 2. 在组件中定义表格所需的数据。可以使用 data 属性在组件的 data 对象中定义一个数组,该数组用于存储表格的数据。 3. 在模板中使用 el-table 组件来展示动态表格。el-table 是 Element UI 提供的用于展示表格的组件,通过在模板中使用该组件,可以实现动态表格的显示。 4. 使用 v-for 指令动态生成表格行。通过在 el-table 组件中使用 v-for 指令,可以遍历数据数组,为每个数组元素生成表格行。 5. 定义表格的列。使用 el-table-column 组件来定义表格的列,通过设置 prop 属性来指定每列对应的数据字段,设置 label 属性来显示列标题。 6. 设置表格的其他属性。可以通过设置 el-table 的其他属性来调整表格的样式和功能,比如设置 bordered 属性来显示边框,设置 stripe 属性来交替显示行颜色等。 7. 添加动态操作按钮。可以在表格中添加操作列,通过使用 el-button 组件来生成按钮,可以触发一些操作,比如删除某行数据或编辑某行数据。 8. 处理表格的事件。通过使用 el-table 组件提供的事件来处理表格的事件,比如点击行事件、选择行事件等。 以上是使用 Element UI 动态表格的基本步骤,根据实际需求可以对表格的样式和功能进行定制和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值