mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-10-29 08:58:22 +08:00
fix(table): 手机端未配置页面自动启用内置卡片形态
This commit is contained in:
@@ -736,7 +736,18 @@
|
||||
// 受控表形态清单规范化须先于引擎渲染:视图切换按钮的注入条件
|
||||
// (条目数>1)依赖它,受控分支直接复用。非受控表不 normalize。
|
||||
var layoutEntries = [];
|
||||
var mobileLayoutInjected = false;
|
||||
if (options.controlled === true) {
|
||||
// 手机端未配置 layoutList 时自动启用内置 card(计划
|
||||
// table-multiform-rendering Success criteria 2):内置 card
|
||||
// 无需页面模板(数据全来自渲染上下文),自动注入可行。
|
||||
// 显式配置优先不注入(含 usercard 示例页等存量配置);桌面端
|
||||
// 不注入,未配置页桌面恒 table 零变化。注入后条目数>1,手机
|
||||
// 端工具栏自动出现"视图"按钮,可切回 table。
|
||||
if ((!options.layoutList || !options.layoutList.length) && ua.checkMobile()) {
|
||||
options.layoutList = ['table', 'card'];
|
||||
mobileLayoutInjected = true;
|
||||
}
|
||||
layoutEntries = normalizeLayoutList(options.layoutList);
|
||||
if (layoutEntries.length > 1) {
|
||||
// 视图切换按钮(任务 15 (b),交互结构参照旧 TABLE_LAYOUT
|
||||
@@ -752,6 +763,26 @@
|
||||
|
||||
if (options.defaultToolbar === undefined) {
|
||||
options.defaultToolbar = defaultToolbar;
|
||||
} else if (mobileLayoutInjected) {
|
||||
// 手机自动注入 card 且页面显式配置了 defaultToolbar 时,上方
|
||||
// push 视图按钮的 defaultToolbar 数组被整体丢弃,"默认 card
|
||||
// 且可切回 table"会落空,这里对最终配置去重追加(仅注入场景
|
||||
// 触发;桌面与显式 layoutList 页均不受影响)
|
||||
var hasLayoutBtn = false;
|
||||
$.each(options.defaultToolbar, function (i, btn) {
|
||||
if (btn && typeof btn === 'object' && btn.layEvent === 'TABLE_LAYOUT') {
|
||||
hasLayoutBtn = true;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if (!hasLayoutBtn) {
|
||||
options.defaultToolbar.push({
|
||||
title: '视图',
|
||||
layEvent: 'TABLE_LAYOUT',
|
||||
icon: 'layui-icon-template-1',
|
||||
extend: 'data-table-id="' + options.id + '"'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user