完整案例
~~~
public function add( $info=array() )
{
$info = [
'name' => '名稱',
'type' => 3,
'uid' => 2,
'extra' => '描述'
];
$test_data = array(
['key1'=>1,'key2'=>'張三'],
['key1'=>2,'key2'=>'李四'],
['key1'=>3,'key2'=>'王武'],
);
return TBuilder('form',$this) ->addTabGroup('基本信息')
->setFormAction( url('action') )
->addWidgets([
['name|val','配置標識|用于C/config函數調用,只能使用英文且不能重復'],
['name|text','配置標識|用于C/config函數調用,只能使用英文且不能重復',[
'validate'=>['required','minlength'=>'2']
]],
['icon|text|.input_icon_select,.class2,#id1,attr:attr_val,attr2:attr_val2','圖標選擇|選擇圖標樣式'],
['icon_class|text', '圖標類名', ['icon'=>'fa fa-angle-right'] ],
//['is_show_difficulty|switch','是否顯示難度'],
//['project_difficulty|select','難度',['listdata'=>config('project_difficulty'),'key_relevance'=>'id|name','open_by'=>'is_show_difficulty']],
['type|select','配置類型|系統會根據不同類型解析配置值',[config('CONFIG_TYPE_LIST')]],
['uid|select','客服',[$test_data,'key1|key2']],
['username|text','客服名稱',['tip'=>'客服名稱用于顯示']],
['extra|textarea','配置項|如果是枚舉型 需要配置該項'],
['head_pic_id|cropper','頭像',['pic_wh'=>'400*400'] ],
['head_pic_id2|images','頭像2'],
['id|hidden'],
['birthday|date', '天'],
['birthday1|datetime', '時'],
['birthday2|dateyear', '年'],
['birthday3|datemonth', '月'],
['tags|tags', '標簽',],
])
->addTabGroup('擴展信息')
->addWidgets([
['sort|number','排序|用于分組顯示的順序', ['tip'=>'測試:用于分組顯示的順序'] ],
['type2|checkbox','多選|多選測試',[config('CONFIG_TYPE_LIST')]],
['type3|radio','單選|單選測試',[config('yes_no')]],
['is_open|switch','配置類型|系統會根據不同類型解析配置值'],
['content|kindeditor', '內容'],
])
->setWidgetsValues( $info )
->fetch();
}
~~~


修改布局:layout_panel
~~~
->layoutView('layout_panel')
~~~



修改布局:layout_full
~~~
return TBuilder('form',$this) ->addTabGroup('基本信息')
->setFormAction( url('action') )
->addWidgets([
['name|val','配置標識|用于C/config函數調用,只能使用英文且不能重復'],
['name|text','配置標識|用于C/config函數調用,只能使用英文且不能重復',[
'validate'=>['required','minlength'=>'2']
]],
])
->addTabGroup('擴展信息')
->addWidgets([
['sort|number','排序|用于分組顯示的順序', ['tip'=>'測試:用于分組顯示的順序'] ],
['type2|checkbox','多選|多選測試',[config('CONFIG_TYPE_LIST')]],
])
->setWidgetsValues( $info )
->layoutView('layout_full')
->fetch();
~~~

附加Tab后置內容:appendTabHtml
~~~
$html = <<<str
<div class="pull-right mr50 mt50">
<span class="mr20">合計: <span class="warn-price">168.00</span>元</span>
<button class="btn btn-primary">去支付</button>
</div>
str;
return TBuilder('form',$this) ->addTabGroup('資源包購買')
->setFormAction( url('action') )
->addWidgets([
['name|number','資源包數量'],
])
->layoutView('layout_panel')
->appendTabHtml($html)
->hideFormButton()
->fetch();
~~~

> **說明:**
> addTabGroup用于創建tab分組,其后addWidgets創建tab頁內的組件。兩者組合使用依次調用。
> 當頁面操作為編輯時setWidgetsValues傳入編輯數據值數組
- 序言
- 環境搭建
- 下載及安裝
- 構建器
- 構建器概述
- 模版構建器(TBuilder)
- Tab組件
- Topbar組件
- 按鈕
- 頂部按鈕配置
- 按鈕配置明細
- 表格(table)
- Table案例
- 「方法」加載數據
- 「方法」設置數據列
- 「方法」列排序
- 「組件」檢索過濾器
- 「組件」頂部按鈕
- 「組件」列表按鈕
- 「配置」列快速編輯
- 「配置」列附加內容
- 「配置」顯隱列表復選框
- 「配置」自定義樣式
- 表單(form)
- Form案例
- 「方法」添加組件(addWidgets)
- 「方法」數據檢索過濾(filter)
- 「組件」富文本編輯器(kindeditor|editormd)
- 「組件」圖片組件(images|cropper)
- 「組件」select listbox組件(listbox)
- 「組件」顏色選擇器(button_color)
- 「組件」自定義內容
- 「配置」顯隱字段關聯(open_by)
- 「配置」form布局(layoutView)
- 「配置」隱藏描述區(hideWidgetsDesc)
- 「配置」數據驗證(validate)
- 「配置」隱藏表單底部按鈕(hideFormButton)
- 「配置」字段tip提示(tip)
- 自定義頁面(custom)
- Custom案例
- 「組件」echart
- 「組件」Tile Widgets
- 「配置」custom布局
- 「配置」自定義html內容
- 「配置」自定義提醒頁面
- 樹形(tree)
- Tree案例
- 左側菜單區配置
- 關閉左側菜單(hideLeftMenu)
- 頂部按鈕配置
- 自定義菜單配置
- 展現方式配置
- 表內增刪改(Tabullet)
- 通用設置
- 依賴文件加載(插件/js/css)
- 指定布局/模版
- 內容定位欄(setTrayMenu)
- 設置內容區側欄
- 模態框打開頁面
- 組件構建器(TWidget)
- echarts
- table
- form組件
- Tabs組件
- builder構建
- titleLine
- 數據構建器(DBuilder)
- 概述(案例)
- 「方法」獲取單條記錄詳情
- 「方法」獲取分頁列表數據
- 「方法」排序
- 「方法」設置查詢字段
- 「方法」快速編輯
- 「方法」數據導出
- 「方法」聯表查詢
- 「方法」查詢數據再處理
- 「配置」回調處理
- 「配置」設置過濾字段
- 「配置」指定過濾字段匹配值
- 「配置」增加編輯支持
- 「配置」查詢出全部數據
- 輔助類
- Excle
- 模塊開發
- 插件開發
- 擴展
- 行為擴展
- 行為日志
- 雜項
- 圖片異步加載
- jquery插件zeroModal
- 提示
- form表單驗證
- ajax相關
- 展開收起
- 常用函數
- 其他插件
- DEMO
- 增刪改查
- 安全
- XSS 攻擊
- 注入攻擊
- CSRF 攻擊
- 其他攻擊和漏洞
- 開發
- TBuilder組件開發
- 更新日志
- 關于文檔