簡單的小功能,但是用起來還是蠻爽的。分享出來讓更多的人有更快的開發效率,開開心心快樂編程。
作者:白狼 出處:http://www.manks.top/yii2_dropdown_search.html 本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
如果你還沒有使用過composer,你可就out了,看我的教程分享,composer簡直就是必備神奇有木有。都說到這個點上了,我們趕緊使用composer進行安裝吧。
不急,先來看看效果圖是啥樣的,不然都沒心情沒欲望看下去。原文自帶圖片,可參考。
啥玩意,不感興趣?繼續看嘛,看完再操作一邊才能覺得好在哪裡。
有木有感覺很帥氣,當然啦,遠遠不止,還很上檔次用起來效果也是槓槓的有木有。
好了好了,抓緊時間安裝,不然聊起來真是沒完沒了。
composer require kartik-v/yii2-widget-select2 "@dev"
#特別說明,因為這裡安裝的dev版本,也就是開發版本,不穩定版本,如果你的項目是git托管的,composer安裝下來之後這裡記得刪掉 \vendor\kartik-v\yii2-widget-select2目錄下的.git文件,不然你提交不上去的哦
等他個大概5分鐘的樣子差不多了,安裝就好了,然後我們就可以像下面一樣開始使用了
//如果你的表單是ActiveForm,請使用
use kartik\select2\Select2;
//$data是鍵值對數組哦,key-value ,下面所聲明的所有$data均為鍵值對數組,以該數組為例
$data = [2 => 'widget', 3 => 'dropDownList', 4 => 'yii2'];
echo $form->field($model, 'title')->widget(Select2::classname(), [
'data' => $data,
'options' => ['placeholder' => '請選擇 ...'],
]);
//如果你的表單是非ActiveForm,可以參考下面的
use kartik\select2\Select2;
echo Select2::widget([ 'name' => 'title',
'data' => $data,
'options' => ['placeholder' => '請選擇...']
]);
非ActiveFomr生成的更新數據的時候就需要默認選中,好辦,加value值即可
use kartik\select2\Select2;
echo Select2::widget([
'name' => 'title',
'value' => 2,
'data' => $data,
'options' => ['placeholder' => '請選擇...']
]);
#但是如果你的表單是ActiveForm生成的,但是往往字段不是表字段怎麼辦呢?更好辦啦,以上面的為例,你只需要指定$model->title = ['title1', 'title2'];即可
繼續閱讀