## 鍵值組件(Fieldlist)
鍵值組件是`YznCMS`開發的一項簡潔實用的基礎組件,在`YznCMS`中很多模塊都有使用到該組件,例如`網站設置`\-`系統`\-`配置分組`均使用此組件開發,我們在插件管理配置中也經常可以看到鍵值組件的身影。
### 組件特點
1、支持一維數組和二維數組數據源
2、支持添加、刪除、排序
3、支持自定義列表模板
### 常規示例
以下是鍵值組件常用的一維數組數據源使用方法:
~~~html
<dl class="layui-input-block fieldlist" data-name="row[configgroup]">
? ?<dd>
? ? ? ?<ins>鍵名</ins>
? ? ? ?<ins>鍵值</ins>
? ?</dd>
? ?<dd><button type="button" class="layui-btn btn-append">追加</button></dd>
? ?<textarea name="row[configgroup]" class="layui-textarea layui-hide" cols="30" rows="5">{"basic":"基礎配置","email":"郵件配置","dictionary":"字典配置","user":"會員配置","example":"示例分組"}</textarea>
</dl>
~~~
通過將以上代碼放置在我們的表單中,然后使用`Form.bindevent($("form.layui-form"))`或`Form.events.fieldlist($("form.layui-form"))`進行初始化即可。
### 自定義模板
以上是最簡潔的使用方法,fieldlist還有更強大的自定義功能來實現自定義模板和二維數組數據源,
具體參考`系統配置`-`特殊字段2:自定義字段`章節代碼
### 事件綁定
如果我們需要在點擊追加按鈕以后再對新增的展示項綁定事件,我們可以在JS中通過監聽事件來給新增的元素綁定事件,這種情況常用于我們自定義列表中有表單組件,如日期選擇、上傳按鈕、動態下拉等情況下使用。
~~~js
$(document).on("fa.event.appendfieldlist", '[data-name="row[test]"] .btn-append', function(e, obj){
//通用的表單組件事件綁定和組件渲染
? Form.api.bindevent(obj);
});
~~~
如果我們在JS中外部對`fieldlist`中的組件做了修改,此時我們需要手動觸發下組件的`change`事件,如:
~~~js
$(".fieldlist input:first-child").trigger("change");
~~~
通過以上代碼來觸發`input`的`change`事件,此時我們隱藏的`textarea`值才會刷新,否則`textarea`仍然是舊的數據
### 重新渲染
如果我們通過JS手動修改了隱藏的`textarea`的值,此時需要重新渲染我們的`fieldlist`組件,我們可以通過
~~~js
$(".fieldlist textarea[name='test']").trigger("fa.event.refreshfieldlist");
~~~
來重新渲染我們的組件
### 追加數據
如果我們希望在外部追加數據,可以通用調用追加按鈕的點擊事件并透傳數據來實現
```
var data ={
"name":"王五",
"gender":"男",
"age":"22",
"score":"60"
};
$("[data-name='row[test]'] .btn-append").trigger("click", [data]);
```
- 與1.4版本差異說明
- 序言
- 使用條款
- 安裝
- 環境搭建
- 事件
- 表單生成
- 數據限制
- 命令行
- 注意事項
- 一鍵生成CRUD
- 一鍵生成菜單
- 一鍵安裝
- 一鍵壓縮打包
- 系統配置
- 常規字段
- 特殊字段1:高級下拉框[selectpage]
- 特殊字段2:自定義字段
- 特殊字段3:自定義多圖片
- 郵箱/短信類
- 前端&組件
- 后臺前端框架
- 文件上傳
- table數據表格
- auth權限驗證
- 動態顯示(Favisible)
- 動態下拉(SelectPage)
- 鍵值組件(Fieldlist)
- 標簽輸入
- uniapp教程
- ??插件使用說明
- YznBBS論壇【bbs】
- 簡介
- 注意事項
- cms內容管理【cms】
- 變量/常量
- 函數
- getCategory - 欄目獲取
- catpos - 面包屑
- seo - 生成SEO
- buildCatUrl - 生成欄目URL
- buildContentUrl - 創建內容鏈接
- 標簽
- 公共參數
- 欄目標簽
- 列表標簽
- 排序標簽
- 上一頁標簽
- 下一頁標簽
- Tags標簽
- 萬能標簽
- 原生標簽
- 搜索頁
- 篩選頁
- 內容詳情頁
- 模板
- 技巧/問題
- 敏感詞檢測
- 欄目授權不全
- 循環表格
- 部分虛擬主機tags頁面報錯
- 內容頁分頁
- 分頁偽靜態
- 實現電腦和手機模板分離
- 閱讀收費
- 友情鏈接【links】
- 聊天室【chatroom】
- 簡介
- 前端安裝
- 后端
- 創建wss服務
- 注意事項
- 自定義表單【formguide】
- 調用方式
- 支付插件【pay】
- 支付寶
- 微信
- 萬能采集【collection】
- 采集列表規則
- 采集內容規則
- 關于圖片
- H5設計【diywap】
- 接口文檔【apidoc】
- 返回頂部【returntop】
- 通用數據導出【dataoutput】
- 通用數據導入【dataimport】
- 多通道短信【easysms】
- 塞郵郵箱【saiyouems】
- 第三方登錄【synclogin】
- 中文分詞【getwords】
- QQ客服【kefu】
- 地圖位置【address】
- 智能人機驗證【vaptcha】
- 數據轉換【v9toyzn】
- 數據轉換【dedetoyzn】
- 百度收錄查詢【baidurecord】
- 蜘蛛訪問統計【spider】
- editormd編輯器【editormd】
- Easymde編輯器【easymde】
- 百度ueditor插件【ueditor】
- TinyMCE富文本編輯器
- 敏感詞檢測【sensitive】
- 郵箱發送【phpmailer】
- 內容收藏【favorite】
- 隊列插件【queue】
- 七牛云【qiniu】
- 阿里云oss【alioss】
- 騰訊云【cos】
- 迅搜全文檢索【xunsearch】
- 評論插件【comments】
- 會員邀請【invite】
- 快遞查詢插件【expressquery】
- 禮品卡提貨系統【pickup】
- 地區插件【area】
- IP歸屬地查詢【ipregion】
- 百度統計插件【baidutongji】
- 消息通知【notice】
- 微信管理【wechat】
- 在線投票系統【vote】
- 圖片處理【imgproc】
- 后臺登錄主題【adminlogin】
- 文檔管理系統【docs】
- 頻率限制【throttle】
- 2FA雙因子驗證【twofas】
- 智能AI摘要【summaraidgpt】
- ??開發者入駐
- 申請入駐
- 建立私庫
- 插件入駐流程
- 模板入駐流程
- ??插件開發
- 目錄結構
- 數據庫
- 測試數據
- 插件信息
- 插件配置
- 核心文件
- 插件函數
- 跨域配置
- 常見問題
- YznCMS開發遇到錯誤怎么辦?(新手必看)
- 開啟調試模式
- 偽靜態(URL重寫)
- 如何去除訪問鏈接中的index.php
- 各類虛擬主機偽靜態使用注意事項
- 如何自定義404頁面顯示模板
- 管理員登錄時提示請于1天后再嘗試登錄
- 寶塔面板一鍵部署
- 后臺登錄時驗證碼不顯示
- 后臺密碼忘記重置方法
- 關于編輯器的一些說明
- 如何重置后臺登錄地址
- 如何修改或禁用左側菜單欄的角標
- 高版本php報錯怎么辦
- 如何關閉前臺會員中心
- composer
- composer簡介
- 內置composer
- 常用命令
- 參考文檔
- 安全建議
- 更新日記和補丁包