我真的希望有人可以帮助我解决使用ng-admin的问题。 我用ng-admin创建了一个仪表板,一切正常。在我使用布尔字段和选择的模型上只有一个问题。当然会显示一个下拉字段,但是在编辑条目时,不会选择数据库中的正确值。我也试过使用filterChoices,但不会做任何改变......打开编辑视图后仍然没有选择。
这是我的字段声明:
nga.field('copiable','boolean')
.label('Copy')
.choices([
{ value: null, label: 'Please choose' },
{ value: true, label: 'Yes' },
{ value: false, label: 'No' }
])
.filterChoices([
{ value: null, label: 'Please choose' },
{ value: true, label: 'Yes' },
{ value: false, label: 'No' }
]),
在这里你可以看到我的JSON响应对象:
{xxx, xxx, "copiable":"1"}
也许我在这里犯了一个错误,有人可以帮助我。
答案 0 :(得分:0)
如果有人在那里......谁有同样的问题。 我现在得到了解决方案!
MySQL将boolean存储为整数0,1,我的后端使用PHP SLIM API获取这些值并将其放入JSON响应中。 但是ng-admin只希望值为“true”或“false”,并且不能用0,1 ...所以我只需要自定义我的API响应,现在它工作正常!
也许这有助于某人...... 问候
答案 1 :(得分:0)
您可以使用map/transform
方法:
nga.field('copiable', 'boolean')
.label('Copy')
.choices([
{ value: null, label: 'Please choose' },
{ value: true, label: 'Yes' },
{ value: false, label: 'No' }
])
.map(value => !!value)
.transform(value => value ? 1 : 0)
map
会将来自API 1
或0
的来信转换为true
或false
。
transform
反之亦然,在将数据发送到API
true
或false
转换为1
或0