laravel-admin表单中使用$form->table组件的时候,如果带有上传图片并且在更新表单没有修改该组件中的数据的时候,保存会丢失image属性,怎么办

在laravel-admin的使用中发现,如果在修改form的时候,如果里面使用到了二维数组table组件,并且数组中带有上传图片的字段的时候,更新该条数据的时候,没有操作二维数组的图片就保存更新,会导致保存数据丢失该图片的路径的问题。如下图
在这里插入图片描述
就算按照官网给出的在model中添加了
在这里插入图片描述
也没什么用,还是无法保存image字段。
解决办法其实很简单,理解了就很好办了。
在set方法中,先将旧的数据获取出来,然后和新的数据进行对比,如果没有image字段,则说明该次编辑没有修改image,就将之前获取出来的旧的数据替换到新的数组里面去,然后保存,这样就能保证数据不丢失了。如图;
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在vben-admin的BasicTable配置表单新增按钮,需要进行以下步骤: 1. 在vue页面引入BasicTable组件: ``` <template> <basic-table :columns="columns" :api="api" :search="search" :pagination="pagination" :actions="actions" :selectable="selectable" @change="handleChange" /> </template> <script> import BasicTable from '@/components/BasicTable'; export default { components: { BasicTable, }, data() { return { columns: [], // 表头 api: '', // 接口地址 search: {}, // 搜索条件 pagination: {}, // 分页配置 actions: [], // 操作按钮 selectable: false, // 是否可选 }; }, methods: { handleChange(data) { console.log(data); }, }, }; </script> ``` 2. 在data配置表单数据对象: ``` data() { return { columns: [ // 表头配置 ], api: '', // 接口地址 search: {}, // 搜索条件 pagination: {}, // 分页配置 actions: [ // 操作按钮配置 ], selectable: false, // 是否可选 formData: {}, // 表单数据对象 formVisible: false, // 是否显示表单 }; }, ``` 3. 在表格的操作按钮配置添加新增按钮: ``` actions: [ { text: '新增', type: 'primary', onClick: () => { this.formVisible = true; }, }, // 其他操作按钮 ], ``` 4. 在BasicTable组件添加表单组件: ``` <template> <div> <basic-form v-if="formVisible" :title="'新增'" :data="formData" :rules="rules" @submit="handleSubmit" @cancel="handleCancel" > <!-- 表单内容 --> </basic-form> <basic-table :columns="columns" :api="api" :search="search" :pagination="pagination" :actions="actions" :selectable="selectable" @change="handleChange" /> </div> </template> ``` 5. 在methods添加表单的提交和取消方法: ``` methods: { handleChange(data) { console.log(data); }, handleSubmit() { // 提交表单数据 // 成功后关闭表单弹窗 this.formVisible = false; }, handleCancel() { // 取消表单操作 // 关闭表单弹窗 this.formVisible = false; }, }, ``` 6. 在BasicTable组件添加表单的校验规则: ``` data() { return { columns: [ // 表头配置 ], api: '', // 接口地址 search: {}, // 搜索条件 pagination: {}, // 分页配置 actions: [ // 操作按钮配置 ], selectable: false, // 是否可选 formData: {}, // 表单数据对象 formVisible: false, // 是否显示表单 rules: { // 表单校验规则 }, }; }, ``` 这样配置后,就可以在BasicTable实现表单的配置和新增按钮的功能了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值