我无法为DropdownField设置默认值
DropdownField::create('Foo', 'Foo', array(true => 'Yes', false => 'No'), $value = true);
创建新页面时,该字段显示否 false => 'No'
。是因为Foo
的$ db值默认设置为 Null 吗?
或者是因为DropdownField
的 Default 参数应该是一个字符串,而这里它是一个布尔值?
答案 0 :(得分:2)
您可以使用其中一个设置默认值。
private static $defaults = [
'Foo' => true
];
或者如果你想拥有更加动态的方式
public function populateDefaults() {
parent::populateDefaults();
$this->Foo = true;
}
答案 1 :(得分:1)
以下内容可行:
DropdownField::create('Foo', 'Foo', array(true => 'Yes', false => 'No'), 0);
您遇到的问题是您正在通过false
。我认为代码将false
解释为没有设置默认值。就像你通过null
一样。 null
或false
以外的任何值均可使用。