Monitorkin Asked:2022-09-09 14:42:00 +0000 UTC2022-09-09 14:42:00 +0000 UTC 2022-09-09 14:42:00 +0000 UTC 如何在 Yii2 中创建自定义 dropDownList? 772 如何在 Yii2 中创建自己的 yii\bootstrap4\Html\dropDownList 类似物,以便以与通常的 echo Html::dropDownList() 相同的方式调用它?那大概是有必要重写为那个类吧?请告诉我。 yii2 2 个回答 Voted Алексей Шиманский 2022-09-09T14:48:40Z2022-09-09T14:48:40Z 选项 1:查看原始小部件的实现方式,以及有关如何编写小部件的信息并从头开始编写自己的小部件。 创建示例: https://www.yiiframework.com/doc/guide/2.0/en/structure-widgets#creating-widgets http://www.webapplex.ru/sozdanie-sobstvennogo-vidzheta-v-yii-2.x https://webformyself.com/yii2-widgety/ https://tokmakov.msk.ru/blog/item/298#:~:text=到 %20create%20widget%20 你需要继承%20 , run()%20returns%20render%20result 。 等等 选项 2:从当前派生,并对所需的小部件的方法、属性进行自己的更改 Best Answer Starik 2022-07-30T00:09:30Z2022-07-30T00:09:30Z 在widgets您的应用程序文件夹中,放置一个具有名称Html.php和以下内容的文件。调整功能的内容以满足您的需求dropDownList: <?php namespace app\widgets; class Html extends \yii\bootstrap4\Html { public static function dropDownList($name, $selection = null, $items = [], $options = []) { // Тут далее привожу стандартную генерацию дропдауна, // которую можно переписать под себя: if (!empty($options['multiple'])) { return static::listBox($name, $selection, $items, $options); } $options['name'] = $name; unset($options['unselect']); $selectOptions = static::renderSelectOptions($selection, $items, $options); return static::tag('select', "\n" . $selectOptions . "\n", $options); } }
选项 1:查看原始小部件的实现方式,以及有关如何编写小部件的信息并从头开始编写自己的小部件。
创建示例:
选项 2:从当前派生,并对所需的小部件的方法、属性进行自己的更改
在
widgets您的应用程序文件夹中,放置一个具有名称Html.php和以下内容的文件。调整功能的内容以满足您的需求dropDownList: