FastAdmin官方方法: SelectPage组件值变更以后的事件监听
通过官方提供的方法,可以实现 change
事件监听,但是无法获取列表项接口返回的值。
通过 selectPage 官方文档查阅到,SelectPage 官方提供了一个 eSelect 事件回调 文档地址
实现方法为:
1. 修改 input
元素,移除 class
中的 'selectpage'。其他 data
属性不变
2. 在对应控制器的 JS
中引入 selectPage
修改第一行代码,在 define
函数的第一个实参数组后面追加 , "selectpage"
,在第二个实参方法的参数列表后面添加 , SelectPage
,如下代码:
define(["jquery", "bootstrap", "backend", "table", "form", "layer", "selectpage"], function ($, undefined, Backend, Table, Form, Layer, selectPage) {
3. 在add
或者 edit
方法中编写代码
// #c-selectpage 根据元素选择器自行修改$("#c-selectpage").selectPage({ eSelect: function (data) { // data 为当前选中列表项的接口数据对象 // ......实现逻辑 }, eAjaxSuccess: function (data) { data.list = typeof data.rows !== 'undefined' ? data.rows : (typeof data.list !== 'undefined' ? data.list : []); data.totalRow = typeof data.total !== 'undefined' ? data.total : (typeof data.totalRow !== 'undefined' ? data.totalRow : data.list.length); return data; }});
4. 找到 public/assets/libs/fastadmin-selectpage/selectpage.js
文件中 SelectPage.prototype.afterInit
方法的代码
按照下图标注添加代码,实现初始化有值时自动触发 eSelect
事件,否则在编辑时无法触发
此处在Github作者有对自动触发问题进行回复,现有版本未实现 建议在初始选中时触发一次eSelect #95
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。