JS实现参数面板点tab切换效果

1. 概述

1.1 预期效果

场景描述:实际场景中我们有时候需要实现tab切换的效果,点击上面的tab块来切换数据查询结果。

预期效果图

image.png

1.2 实现思路

  1. 通过label标签画出一个一个tab块;

  2. 通过js实现点击label对于某个文本框赋值(隐藏不可见);

  3. 赋值变化后进行查询。

2. 示例

2.1 模板设计

  1. 新建数据集:(为了便于演示,这里仅仅使用FRDemo,做简单示意):


    select 
    case 
    when '${wbk}'= '0' then "第一个" 
    when '${wbk}' = '1' then "第二个" 
    when '${wbk}' = '2' then "第三个" 
    when '${wbk}' = '3' then "第四个" 
    when '${wbk}' = '4' then "第五个" 
    when '${wbk}' = '5' then "第六个" 
    else null end  as 结果
  2. 在参数面板拖入label控件,分别命名label0~lable5,控件值分别写入1~6

    image.png


  3. 拖入文本框控件,默认不可见,命名wbk,控件值写入1

  4. 给参数面板初始化加入这段js:

    timer = setInterval(function() {
    if ($("[widgetname^='LABEL']")) {
    clearInterval(timer);
    } //1.替代延迟加载setTimeout()方法,用定时器的方式来实现,当label元素出现则清除定时器,否则每隔15ms执行代码
    $("[widgetname^='LABEL']").css({
    "border": "1px solid #e8ebf1"
    })//2.给LABEL0~LABEL5加边框
    $("[widgetname^='LABEL']:first").css({
    "borderRadius": "4px 0 0 4px"
    })//3.给LABEL0(第一个label)加左边圆角
    $("[widgetname^='LABEL']:last").css({
    "borderRadius": "0 4px 4px 0"
    })//4.给LABEL5(最后一个label)加右边圆角
    $("[widgetname^='LABEL']").find("td .fr-label").css({
    "color": "#555555",
    })//5.给LABEL0~LABEL5设置字色,直接在注释第2步中加color是不行的

    var num = "";
    $("[widgetname^='LABEL']").click(function() {
    $(this).css({
    border: "1px solid #1890ff",
    backgroundColor: "#1890ff"
    }).siblings().css({
    border: "1px solid #e8ebf1",
    backgroundColor: "transparent"

    })//6.给点击的LABEL加边框和背景样式,其他兄弟LABEL加另外一种边框和背景样式
    num = $(this).attr("widgetname").replace("LABEL", "");
    $("[widgetname^='LABEL'] td .fr-label").css({
    "color": "#555555"
    });//7.给所有LABEL字色设置样式
    $("[widgetname^='LABEL'] td .fr-label").eq(num).css({
    "color": "white"
    });//8.给点击了的LABEL设置另一个字体颜色;不用$("this").sibings()方式
    var a = _g().parameterEl.getWidgetByName("wbk").getValue(); //获取文本框的
    var b = _g().parameterEl.getWidgetByName("wbk").setValue(num);//给文本框赋值
    if (b !== a) {
    _g().parameterCommit();
    }//如果文本框的值和上次不同,则进行查询操作
    })

    }, 15)
  5. 设计器主体内容简单设计下如下图所示:

    image.png


2.2 效果预览

效果.gif

3. 模板下载

点击下载模板:

tab切换测试.cpt



Attachment List


Theme: 下架文档
Already the First
  • Helpful
  • Not helpful
  • Only read

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

Get
Help
Online Support
Professional technical support is provided to quickly help you solve problems.
Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
Page Feedback
You can provide suggestions and feedback for the current web page.
Pre-Sales Consultation
Business Consultation
Business: international@fanruan.com
Support: support@fanruan.com
Page Feedback
*Problem Type
Cannot be empty
Problem Description
0/1000
Cannot be empty

Submitted successfully

Network busy