我正在使用 Ext JS 4 创建一个简单的管理员 UI。我从 Sencha 网站上的这个示例开始。我在表单中添加了一个复选框组(有四个选项),并且我根据表单下方网格中的选定记录动态检查了这些框。一切正常,但是当我将数据发送到服务器时,复选框组中的数据格式因单击的按钮而异。
例如,当我编辑一条记录并单击保存按钮时,Ext JS 发送一个数组,其中包含对应于复选框选中状态的真/假值:
{"available": [true, true, false, false]}
当我创建一个全新的记录并单击添加按钮时,Ext JS 会发送一个数组,其中包含已选中的复选框的名称:
{"available": ["Selection_1", "Selection_2", "Selection_3"]}
最后,如果我创建一条新记录并单击添加按钮但只选中一个复选框,Ext JS 会发送一个字符串值(与第二个示例中发送的数组相反):
{available": "Selection_1"}
为什么 Ext JS 会这样做?这使得处理服务器端的数据变得困难。此外,有没有一种方法可以覆盖保存按钮将数据发送到服务器的方式,以便它以与添加按钮发送的相同格式发送数据?谢谢!