SPHP中按鈕的數據結構全局統一,數據類型如下:
```
{
title:按鈕標題,
flag:按鈕標識,用于對按鈕進一步操作時的唯一標識。
attr:按鈕樣式及屬性,是一個鍵值對,具體結構:{
type:default|primary|success|info|warning|danger|text, // 按鈕類型,默認 primary
round:true|false, // 按鈕是否圓角,默認 false
plain:true|false, // 是否樸素按鈕,默認 false
circle:true|false, // 是否圓形按鈕,默認 false
icon, // 按鈕圖標,可選擇的圖標見icon表單項
flag: 按鈕標記,用于對按鈕進一步操作
disabled, // 是否禁用,默認 false
},
option:操作屬性,用于控制按鈕的操作邏輯,結構如下:{
type:操作類型:null-無操作,refresh-刷新頁面,relist-重新獲取列表(列表頁中的按鈕才有效),back-返回,link-跳轉頁面,pop-打開彈框,ajax-ajax請求,
url:按鈕的操作地址,頁面跳轉為跳轉地址,pop為彈窗地址,ajax為ajax請求地址。
target: 按鈕鏈接跳轉類型(linkType為link時有效, _blank表示新頁面打開鏈接),
confirm: false|true|{title, tips, type:warning}, 按鈕點擊時是否需要確認框,
extra_data: 附加數據, 表單提交時會把附加數據提交,在列表項中支持'__字段名__'的方式傳值,
batch: 是否批量操作(批量操作時會附帶當前列表中選中的數據ID),列表頁中的按鈕才有效
}
}
```
操作類型分別為無操作、刷新頁面、刷新列表數據、返回、跳轉頁面、打開彈框、ajax請求。
所有的操作均可設置是否在操作前進行彈框確認。
## ajax請求返回結果
> 一般情況下,ajax請求的處理結果直接使用控制器的success方法及error方法返回即可,參考[控制器]()一節。
ajax請求后基本都會有下一步的操作,下面介紹一下ajax請求后如何控制后續操作。
- 按鈕的ajax請求返回的數據結構說明
```
{
code: 1-成功,非1失敗,一般直接用0即可。
msg: 返回結果說明,
data: {
wait:操作等待時間,單位秒,默認為1秒,
type:操作類型:null-無操作,refresh-刷新頁面,relist-重新獲取列表(列表頁中的按鈕才有效),back-返回,link-跳轉頁面,pop-打開彈框,ajax-ajax請求,
url:按鈕的操作地址,頁面跳轉為跳轉地址,pop為彈窗地址,ajax為ajax請求地址。
target: 按鈕鏈接跳轉類型(linkType為link時有效, _blank表示新頁面打開鏈接),
confirm: false|true|{title, tips, type:warning}, 按鈕點擊時是否需要確認框,
extra_data: 附加數據, 表單提交時會把附加數據提交,在列表項中支持'__字段名__'的方式傳值,
batch: 是否批量操作(批量操作時會附帶當前列表中選中的數據ID),列表頁中的按鈕才有效
}
}
```
> 其實返回的操作除了多了一個`wait`之外,其他結構與按鈕的操作時完全一致的。
- type操作類型說明:
1. back:返回上一頁
2. relist:重新加載數據列表
3. refresh:刷新頁面
4. pop:打開彈框
5. link:打開連接
6. ajax:ajax請求
> 按鈕操作思維導圖:

- 序言
- 下載及安裝
- 目錄結構
- 基礎
- 多站點-單入口文件(推薦)
- (舊)多站點-多入口文件方式
- (舊)入口文件
- (舊)站點配置
- 按鈕操作
- 區塊概念
- 構建器(SBuilder)
- 頁面-Page
- 設置頁面標題
- 添加頁面提示信息
- 設置頁面Tab
- 設置頁面背景色
- 設置是否點擊遮罩關閉
- 添加區塊
- 區塊-Block
- 設置區塊名
- 設置區塊布局
- 表單(form)
- 添加表單項通用方法
- 添加表單項
- 單行文本框
- 多行文本框
- 數字輸入框
- 密碼框
- 數組輸入框
- 單選框
- 狀態選擇器
- 復選框
- 下拉框
- 級聯選擇器
- 開關
- 日期選擇器
- 日期時間選擇器
- 日期范圍選擇器
- 日期時間范圍選擇器
- 時間選擇器
- 時間范圍選擇器
- Tree 樹形組件
- 圖標選擇器
- 顏色選擇器
- 單圖片上傳
- 多圖片上傳
- 視頻上傳
- 單文件上傳
- 多文件上傳
- 富文本編輯器-QEditor
- 富文本編輯器-UEditor
- 小程序富文本
- 靜態文本
- 隱藏表單項
- 表格數據輸入框
- 分組
- 地圖選擇器(未實現)
- 地區選擇器(未實現)
- 穿梭框(未實現)
- 圖片裁剪(未實現)
- 郵箱輸入框(未實現)
- 設置表單LabelWidth
- 設置表單提交地址
- 設置默認按鈕標題
- 提交表單確認框
- 隱藏默認按鈕
- 添加額外按鈕
- 設置觸發器
- 設置表單數據
- 表單布局
- 模板
- 表格(table)
- 設置表名
- 添加頂部按鈕
- 添加時間段篩選
- 設置搜索欄
- 添加列
- text
- byte
- status
- tags
- yesno
- datetime
- icon
- image
- images
- external_image[已廢棄]
- external_images[已廢棄]
- link
- html
- select
- text.edit
- group
- 多選框欄
- 數量索引欄
- 操作欄
- 右側操作按鈕
- 設置多選框
- 設置顯示數量索引
- 設置列表數據地址
- 直接設置數據
- 關閉ajax獲取數據功能
- 設置分頁
- 自動新增
- 自動編輯
- 圖表(Charts)
- Html
- Iframe
- 數據面板
- 卡片列表
- 按鈕(Button)
- 按鈕調用示例
- 自定義組件
- 混合頁面
- 概念說明
- 擴展
- 圖標擴展
- 雜項
- 幫助函數
- TODO