Skip to content

后退按钮 backBtn

禅道历史记录基本原理

禅道支持多应用页面机制,打开一个应用、在应用内切换页面以及切换应用操作都会视为览器历史存储下来,并同步更新浏览器地址栏中的 URL。这样使用浏览器的前进后退功能可以按预期在历史记录中漫游。

用法

基本用法

默认后退按钮点击时将返回打开当前页面时的上一个历史记录。例如:

php
backBtn('返回');
html
<button class="btn btn-default open-url" type="button" data-back="APP">
  <span class="text">返回</span>
</button>

在上例中,当此按钮在任务详情页面时,点击后将返回打开任务详情页面时的上一个历史记录中的页面。

指定优先返回的页面

通过 back 属性指定优先返回的页面,通过 moduleName-methodName 的形式指定需要匹配的页面,可以用 , 拼接多个页面。例如:

php
backBtn
(
    set::back('execution-task,my-task'),
    '返回'
);
html
<button class="btn btn-default open-url" type="button" data-back="product-all,my-all">
  <span class="text">返回</span>
</button>

在上例中,点击后退按钮时将从历史记录中向后查找符合 execution-taskmy-task 路径的历史记录,如果找到则返回该页面,否则返回打开当前页面时的上一个历史记录。

指定备用返回路径

通过 url 属性指定备用返回路径,当无法匹配 back 属性所指定的返回记录时,则直接打开备用路径。例如:

php
backBtn
(
    set::back('execution-task,my-task'),
    set::url('/execution-task-112.html')
    '返回'
);
html
<a class="btn btn-default open-url" href="/execution-task-112.html" data-back="product-all,my-all">
  <span class="text">返回</span>
</a>

指定全局返回

通过 back 属性指定为 'GLOBAL',则返回浏览器当前上一个记录,相当于浏览器后退按钮行为。例如:

php
backBtn
(
    set::back('GLOBAL'),
    '返回'
);
html
<button class="btn btn-default open-url" type="button" data-back="GLOBAL">
  <span class="text">返回</span>
</button>

属性

名称 类型 可选 默认值 说明
backstring"APP"定义返回行为,可以为 'APP'(默认值,返回打开当前页面时的上一个历史记录)、 'GLOBAL'(返回上一个全局历史记录)、'moduleName-methodName'(从历史记录中向后查找符合指定路径的历史记录)。
textstringbtnnull按钮的文本。
iconstringbtnnull图标名称。
iconClassstringbtnnull图标的样式类。
squareboolbtnnull是否为方形按钮,通常用于只显示一个图标的按钮。
disabledboolbtnnull是否禁用按钮。
activeboolbtnnull是否为激活状态。
urlstringbtnnull按钮的链接地址。
targetstringbtnnull按钮的链接目标。
sizestringintbtnnull按钮的尺寸,可选值为 'xl''lg''md''sm' 或者通过数字设置宽高,如 20
trailingIconstringbtnnull按钮尾部图标的名称。
trailingIconClassstringbtnnull按钮尾部图标的样式类。
caretstringboolbtnnull按钮的下拉箭头,可选值为 'top'(向上)、'bottom'(向下) 或者 true(自动)。
hintstringbtnnull按钮的提示文本(鼠标悬停时显示)。
typestringbtnnull按钮的类型,可选值为 'default''primary''success''info''warning''danger''link'
btnTypestringbtnnull按钮的类型,可选值为 'button''submit''reset'

https://zentao.net