ExtJs中Model 和 Store 的常用实例方法

102 阅读1分钟

🚹Model 实例方法(单条记录用的)

方法名功能说明
get(field)获取字段值
set(field, value)设置字段值(或传对象批量设置)
getData([includeAssociated])获取原始数据对象(普通 JS 对象)
getId()获取 ID 值
setId(id)设置 ID
isModified(field?)判断字段是否被修改(脏数据)
modified(属性)被修改的字段及原值
commit()提交修改,重置脏状态
reject()撤销修改,恢复旧值
validate()执行字段校验规则,返回错误集合
phantom(属性)是否是新创建尚未持久化的数据
dirty(属性)是否有字段被修改过
isValid()快捷方式判断是否通过校验

🧱 Store 实例方法(操作整个集合)

方法名功能说明
load([options])加载数据(使用 proxy)
add(records)添加数据(自动转成 Model 实例)
insert(index, records)指定位置插入记录
remove(records)删除记录
removeAt(index)删除指定索引的记录
removeAll()清空全部记录
getAt(index)获取某条记录(Model 实例)
getById(id)按 ID 查找记录
each(fn)遍历每一条记录
find(fn)查找满足条件的记录
filter(field, value)按字段过滤
clearFilter()清除过滤
sort(field, direction)排序
getCount()当前记录条数
getRange(start, end)获取某段记录区间
indexOf(record)获取记录索引
first() / last()第一条/最后一条记录
sync()与后端同步(写入更改)
loadData(data, append)加载本地数据
isLoading()是否正在加载数据

🚀 快速理解核心关系

  • Model = 操作“一条数据”的“结构体 + 智能体”
  • Store = 操作“多条数据”的集合管理器,包含 Model 实例数组 + 增删改查 + 同步