如何 preselect/check yii2 RadioList() 中的默认单选按钮?

How to preselect/check a default radio button in yii2 RadioList()?

我想在我的表单中预选单选按钮。

 <?= $form->field($model, 'config')->radioList(['1'=>'Automatic Entry',2=>'Manual Entry'])
     ->label('Barcode/Book No Generation'); ?>

由于我对 yii2 不是很熟悉,所以在黑暗中进行远距离拍摄,但根据文档,您应该能够做这样的事情。

$form->field($model, 'config')->radioList([
          '1'=>'Automatic Entry',
          '2'=>'Manual Entry',
    ], [
        'item' => function ($index, $label, $name, $checked, $value) {
            return Html::radio($name, $checked, ['value' => $value]);
        },
    ]);
// [...]
ActiveForm::end();

预选值取自$model->config。这意味着您应该将该属性设置为您想要预选的值:

$model->config = '1';
$form->field($model, 'config')->radioList([
    '1' => 'Automatic Entry',
    '2' => 'Manual Entry',
]);

相关文档在 ActiveForm class.

您必须设置 'config' 属性。

$model->config = 1;

加载表单时,您将选中第一个单选按钮。

tarleb 是对的。

如果要使用radio的默认值,可以使用以下代码:

<?php $model->isNewRecord==1 ? $model->config=1:$model->config;?>
<?= $form->field($model, 'config')->radioList(
    [
         '1'=>'Automatic Entry',
         '2'=>'Manual Entry'
    ])->label('Barcode/Book No Generation'); 
?>