一、v-haspermi设置新增修改弹层vue选取
v-haspermi是一个Vue组件,提供了一个方便的操作界面,可以在Vue应用程序中集成。在使用v-haspermi之前,首先要安装它。
// 安装v-haspermi
npm install v-haspermi --save
安装完成后,我们需要在Vue项目的main.js文件中引入和注册组件。
// 引入v-haspermi
import vHaspermi from 'v-haspermi'
Vue.use(vHaspermi)
注册完组件后,就可以在Vue项目中使用v-haspermi组件了。下面,我们来看一下如何使用v-haspermi来定义一个弹层组件。
<script> export default { data () { return { showLayer: false, columns: [ { title: '姓名', field: 'name', type: 'text', rules: [ { required: true, message: '姓名不能为空' } ] }, { title: '年龄', field: 'age', type: 'number', rules: [ { required: true, message: '年龄不能为空' }, { type: 'number', message: '年龄必须为数字值' } ] } ] } }, methods: { handleSubmit (data) { console.log(data) } } } </script>
代码中,我们使用了v-model属性来控制弹层的显示和隐藏。title属性用于定义弹层的标题。columns属性定义了弹层中需要输入的字段及其相关信息。submit事件会在用户点击弹层的确定按钮时触发,返回输入的数据。
二、数据表格列编辑控件
v-haspermi提供了一些列编辑控件,让用户方便地编辑数据表格中的数据。下面,我们来介绍几个常用的列编辑控件。
1、下拉框
下拉框用于定义一个输入框,并提供一个下拉列表供用户选择。其中,options为下拉列表中的选项,value和label分别表示选项的值和显示的文本。
{ title: '性别', field: 'sex', type: 'select', options: [ { value: 'male', label: '男' }, { value: 'female', label: '女' } ] }
2、多选框
多选框用于定义一个多选框,供用户选择多个选项。其中,options为可选的选项,value和label分别表示选项的值和显示的文本。
{ title: '爱好', field: 'hobby', type: 'checkbox', options: [ { value: 'yoga', label: '瑜伽' }, { value: 'swimming', label: '游泳' }, { value: 'reading', label: '读书' } ] }
3、单选框
单选框用于定义一个单选框,供用户选择一个选项。其中,options为可选的选项,value和label分别表示选项的值和显示的文本。
{ title: '特长', field: 'spe', type: 'radio', options: [ { value: 'dance', label: '舞蹈' }, { value: 'sing', label: '唱歌' }, { value: 'instrument', label: '乐器' } ] }
4、日期选择器
日期选择器用于定义一个日期选择框,供用户选择日期。其中,type为date。
{ title: '生日', field: 'birthday', type: 'date' }
三、数据表格行操作按钮
v-haspermi还提供了数据表格行操作按钮,可以方便地对数据表格中的数据进行操作。下面,我们来介绍几个常用的行操作按钮。
1、删除操作按钮
删除操作按钮用于在数据表格中删除一条数据。下面是一个删除操作按钮的代码实现。
<script> export default { data () { return { tableData: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '王五', age: 22 } ], columns: [ { title: '姓名', field: 'name', type: 'text' }, { title: '年龄', field: 'age', type: 'number' } ] } }, methods: { handleDelete (index) { this.tableData.splice(index, 1) } } } </script>删除
代码中,我们使用了v-haspermi-table组件渲染了一个数据表格,并在数据表格中加入了一个删除操作按钮。当用户点击该按钮时,handleDelete方法会将该行数据从数据表格中删除。
2、编辑操作按钮
编辑操作按钮用于在数据表格中编辑一条数据。下面是一个编辑操作按钮的代码实现。
<script> export default { data () { return { tableData: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '王五', age: 22 } ], columns: [ { title: '姓名', field: 'name', type: 'text' }, { title: '年龄', field: 'age', type: 'number' } ], editData: {} } }, methods: { handleEdit (index) { this.editData = { ...this.tableData[index] } this.$refs.form.show() }, handleEditSubmit (data) { this.tableData.splice(data.$index, 1, data) } } } </script>编辑
代码中,我们使用了v-haspermi-table组件渲染了一个数据表格,并在数据表格中加入了一个编辑操作按钮。当用户点击该按钮时,handleEdit方法会将该行数据复制到editData中,然后让编辑弹层显示。在编辑弹层中,用户编辑完毕后会触发submit事件,在handleEditSubmit方法中,我们将修改后的数据保存到tableData中。
3、查看操作按钮
查看操作按钮用于在数据表格中查看一条数据。下面是一个查看操作按钮的代码实现。
<script> export default { data () { return { tableData: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '王五', age: 22 } ], columns: [ { title: '姓名', field: 'name', type: 'text' }, { title: '年龄', field: 'age', type: 'number' } ], viewData: {} } }, methods: { handleView (index) { this.viewData = { ...this.tableData[index] } this.$refs.form.show() } } } </script>查看
代码中,我们使用了v-haspermi-table组件渲染了一个数据表格,并在数据表格中加入了一个查看操作按钮。当用户点击该按钮时,handleView方法会将该行数据复制到viewData中,然后让编辑弹层显示,但当前弹层是被禁用的。这样用户就只能查看数据,而不能进行修改。