layui/docs/table/detail/options.ajax.md

182 lines
3.4 KiB
Markdown
Raw Normal View History

2023-04-24 08:42:47 +08:00
<table class="layui-table">
<colgroup>
<col width="150">
<col>
</colgroup>
<thead>
<tr>
<th>属性名</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>
发送异步请求的 URL。默认会自动传递两个参数`?page=1&limit=30`(该参数可通过 `request` 属性自定义)
<br>`page` 代表当前页码、`limit` 代表每页数据条数。
</td>
</tr>
<tr>
<td>method</td>
<td>
请求的方式,默认:`get`
</td>
</tr>
<tr>
<td>where</td>
<td>
请求的其他参数。如:`where: {token: 'sasasas', id: 123}`
</td>
</tr>
<tr>
<td>headers</td>
<td>
请求的数据头参数。如:`headers: {token: 'sasasas'}`
</td>
</tr>
<tr>
<td>contentType</td>
<td>
请求的内容编码类型。若要发送 `json` 内容,可设置:<br>
`contentType: 'application/json'`
</td>
</tr>
<tr>
<td>dataType <sup>2.7+</sup></td>
<td>
请求的数据类型,默认 `json`
</td>
</tr>
<tr>
<td>jsonpCallback <sup>2.7+</sup></td>
<td>
设置当 `dataType: 'jsonp'` 时的回调函数名。
</td>
</tr>
<tr>
<td>request</td>
<td>
用于对默认的分页相关的请求参数 `page,limit` 重新设定名称。如:
```
request: {
pageName: 'curr', // 页码的参数名称默认page
limitName: 'nums' // 每页数据条数的参数名默认limit
}
```
那么请求数据时的参数将会变为 `?curr=1&nums=30`
</td>
</tr>
<tr>
<td>
[**parseData**](#options.parseData)
</td>
<td>
<div class="ws-anchor" id="options.parseData">
数据格式解析的回调函数,用于将返回的任意数据格式解析成 table 组件规定的数据格式:
</div>
```
{
"code": 0,
"msg": "",
"count": 1000,
"data": [{}, {}]
}
```
很多时候,您接口返回的数据格式并不一定都符合 table 默认规定的格式,比如:
```
{
"status": 0,
"message": "",
"total": 180,
"data": {
"item": [{}, {}]
}
}
```
此时我们可以借助 `parseData` 回调函数将数据解析并转换为默认规定的格式:
```
table.render({
elem: '',
url: '',
parseData: function(res){ // res 即为原始返回的数据
return {
"code": res.status, // 解析接口状态
"msg": res.message, // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.data.item // 解析数据列表
};
},
// … //其他参数
});
```
该函数非常实用
</td>
</tr>
</tbody>
</table>
<h4 id="data.reserved" class="ws-anchor ws-bold">返回数据中的特定字段</h4>
在返回的数据中,允许规定某些特定字段,以便 table 组件进行相应的特定解析。
| 特定字段名 | 描述 | 读写状态 |
| --- | --- | --- |
| LAY_CHECKED | 当前行的选中状态 | 可读可写 |
| LAY_DISABLED | 当前行是否禁止选择 | 可读可写 |
| LAY_INDEX | 当前行下标。每页重新从零开始计算 | 只读 |
| LAY_NUM | 当前行序号 | 只读 |
feat: 重构 laytpl,增强对更多复杂模板结构的解析能力 (#2577) * feat: 重构 laytpl,增强对更多复杂模板结构的解析能力 * Squashed commit of the following: commit 6884f80378f7606366c73e75c45946acc5817c95 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:45:58 2025 +0800 release: v2.10.1 commit 8d643ad6dc910ab86a4883ffe27ca3626553f892 Merge: 5521e48c 213fe5a2 Author: corededitor <107152508+corededitor@users.noreply.github.com> Date: Wed Mar 19 14:24:50 2025 +0800 feat: Merge pull request #2566 from layui/feat/component feat: 优化 component, tabs 若干功能 commit 213fe5a2090a7aef26af71fb5a0d6dc517b9a915 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:15:39 2025 +0800 docs: 添加 component 文档中实验性选项标记 commit 5521e48c05cd496476729cd33c754961c78cd2ac Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:10:46 2025 +0800 fix: 修复 `body` 初始 `line-height` 无效的问题 (#2569) commit 8c7cf0f6069a44ce7160fb2d69549956471bd684 Author: 青崖 <33601030+bxjt123@users.noreply.github.com> Date: Wed Mar 19 14:10:08 2025 +0800 优化 checkbox 标签风格选中且禁用时的显示 (#2563) commit 23b21254d4c4be4fd7e99e17f60c991e874d22c0 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:04:44 2025 +0800 docs: Squashed commit of the following: commit 95a0503f415126edabefb2cc9646a59bcb0932f3 Merge: e6eb86ba 87ba4c43 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 14:03:13 2025 +0800 Merge branch 'main' into 2.x commit e6eb86bacb130fcf57b6407b0c426ca7f770b326 Author: morning-star <26325820+Sight-wcg@users.noreply.github.com> Date: Wed Mar 19 14:02:05 2025 +0800 docs(slider): 修正错别字 (#2578) commit 46f7a9783e039bdc0efded87640fdfab31209f67 Merge: df1fc4f4 c204590a Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Fri Mar 14 19:07:50 2025 +0800 Merge branch 'main' into 2.x commit df1fc4f419819317c012091691db1012d48d5800 Author: itletu <itletu@163.com> Date: Mon Mar 10 13:54:06 2025 +0800 docs: 更正 class 公共类文档错误 (#2544) | layui-border-box | 设置元素及其所有子元素均为 `box-sizing: border-box` 模型的容器 | commit 87ba4c4394884b794da84a3f1bc9ba786cf748e2 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:41:33 2025 +0800 docs(version): 优化 2.9.x 锚点 commit a0f533f0fdfa34dba83bfe81ffa366c051859947 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:37:29 2025 +0800 docs: 修复 tabs 文档示例异常问题 commit 0f0584e2edc94a6aa483f4b4136a05ed599b0fb4 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:35:00 2025 +0800 docs: 修复 tabs 文档中自定义事件示例重新点击 Preview 失效的问题 commit 172957d2433c3a592c387f5a9f394734b4b127c0 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Wed Mar 19 13:29:09 2025 +0800 docs: 优化文档中的用词细节 (#2571) commit 094be4ddcccbb18caa696af65083562960929437 Author: letianpailove <113023596+letianpailove@users.noreply.github.com> Date: Wed Mar 19 13:28:46 2025 +0800 fix: 更正 class 公共类文档错误 (#2562) commit 53ded26cb96009330977320b5991bbcd17468eb7 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:15:25 2025 +0800 fix: 优化 tabs 重载时未按照传入的 closable 正确渲染可关闭状态 commit bd892bf87effa582bf8e3655c710d52f4066b2a5 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:15:17 2025 +0800 feat(component): 新增 cache 原型方法,用于元素缓存操作 commit 6ccc5a453d250537117646e8f9fe751153fd91a3 Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:14:18 2025 +0800 fix(component): 优化元素 lay-options 属性上的配置在重载时的优先级 commit 79b0a56f506b0553fa67e4ce7467a21d4d8660ce Author: 贤心 <3277200+sentsim@users.noreply.github.com> Date: Sun Mar 16 00:13:55 2025 +0800 fix(component): 修复 reload 时传入的选项未正确合并的问题 * refactor(laytpl): 优化代码细节 * docs: 重写 laytpl 模块文档
2025-03-27 23:55:04 +08:00
| LAY_COL | 当前列的表头属性选项 | 只读 |
2023-04-24 08:42:47 +08:00
示例一: 在返回的数据中设置特定字段:
```
{
"code": 0,
"count": 1000,
"data": [{},{
LAY_DISABLED: true
}]
}
```
示例二: 在模板中读取特定字段示例:
{{!
```
<script type="text/html" id="TPL-demo-xxx">
当前行下标: {{= d.LAY_INDEX }}
当前列的某个表头属性: {{= d.LAY_COL.field }}
</script>
```
!}}