[fastadmin] 第四十一篇fastadmin,根据行内字段动态请求编辑到不同页面。
背景:根据类别字段点编辑跳转到不同的编辑页面
这是 fastadmin edit 方法。
我想要 fetch 到两个页面。
根据 字段 zclb,如果是 G 那就是 到 gEdit 页面
是 Y 那就是 yEdit
是 D 那就是 dEdit
解决方案
1. 把 模块对应的 js 代码找到。
要根据字段 zclb
的值将 edit 按钮导向不同的页面,你需要修改之前的实现方式。以下是具体的解决方案:
- 首先,移除原有的
edit_url
配置:
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'pz/yppzsc/index' + location.search,
// edit_url: 'pz/yppzsc/edit', // 移除这行
multi_url: 'pz/yppzsc/multi',
import_url: 'pz/yppzsc/import',
table: 'yppzsc',
}
});
- 然后,在 buttons 数组中添加自定义的 edit 按钮,根据
zclb
字段值动态设置 URL:
buttons: [
// 其他按钮...
{
name: 'edit',
title: __('编辑'),
classname: 'btn btn-xs btn-success btn-dialog',
icon: 'fa fa-pencil',
url: function (row) {
// 根据zclb字段值决定跳转到哪个编辑页面
if (row.zclb === 'G') {
return 'pz/yppzsc/gEdit?ids=' + row.id;
} else if (row.zclb === 'Y') {
return 'pz/yppzsc/yEdit?ids=' + row.id;
} else if (row.zclb === 'D') {
return 'pz/yppzsc/dEdit?ids=' + row.id;
} else {
// 默认编辑页面
return 'pz/yppzsc/edit?ids=' + row.id;
}
},
visible: function (row) {
// 根据需要设置按钮的可见性条件
// 例如:只在verify为0或者未设置时显示
return row.verify == 0 || !row.verify;
// 或者根据其他条件
// return true; // 始终显示
}
},
// 其他按钮...
]
这样实现后,edit 按钮会根据 zclb
字段的值跳转到不同的编辑页面:
- 当
zclb
为 ‘G’ 时,跳转到 gEdit 页面 - 当
zclb
为 ‘Y’ 时,跳转到 yEdit 页面 - 当
zclb
为 ‘D’ 时,跳转到 dEdit 页面 - 其他情况下,跳转到默认的 edit 页面
你可以根据实际需求调整 visible
函数中的条件,控制按钮的显示和隐藏。
2. 后端代码 增加 对应的 方法
仅供参考
展现效果
请求时候 分别跳转到 不同的 页面
遇到问题:js 编辑方法不执行,并且控制台没有任何报错
因为之前走的是 edit 区间的 editForm 方法,如图红色框起来的地方。
现在发现 editForm 不执行,最后猜测是路由问题,需要重新以对应新增的对应的 edit.html 文件名称定义方法
问题解决
共同创作
本作品采用《CC 协议》,转载必须注明作者和本文链接