💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## 切换组件 #### 切换组件,用于切换不同面板。 * * * * * 常用方法 ~~~ rbkDom.goto(index); rbkDom.onChange(fn(i,e)); rbkDom.bindItemClick(fn(itemCmp)); ~~~ goto(index)跳转到第index项。index从0开始;onChange(fn),切换时绑定事件;bindItemClick(fn)切换项内列表绑定点击事件。 * * * * * 1、静态切换组件 ![](https://box.kancloud.cn/40331c214c63b8d2ca9a21ff029213d2_374x217.png) ~~~ <div class="rbk-tab"> <div class="rbk-tabitem" text="导航标签"> <div class="rbk-navlist"> <div class="rbk-navlistitem" navurl="">PC方案</a> </div> <div class="rbk-navlistitem" navurl="">手机方案</a> </div> <div class="rbk-navlistitem" navurl="">TV方案</a> </div> </div> </div> <div class="rbk-tabitem" text="列表标签"> <div class="rbk-list" rbk-role='circle'> <div class="rbk-listitem">PC方案1</a> </div> <div class="rbk-listitem">手机方案1</a> </div> <div class="rbk-listitem">TV方案</a> </div> </div> </div> <div class="rbk-tabitem" text="自定义标签"> <div class="rbk-table-view" style="padding: 10px;">自定义内容</div> </div> </div> ~~~ 2、动态绑定切换组件 ![](https://box.kancloud.cn/d0b8d87a1bff91f77b38b02048a018b8_373x175.png) html ~~~ <div class="rbk-tab"></div> ~~~ 数据结构 ~~~ var tabTest = [{ text: 'bind测试', cldCtype: 'list', data: [{ text: '普通内科二' }, { text: '普通外科二' }] }, { text: 'bind测试1', cldCtype: 'navlist', data: [{ text: '普通内科sdfsdf', url: '/index.html' }, { text: '普通外科sdfsdf', url: '/index.html' }] }] } ~~~ js ~~~ var tab = rbk.getCmp('tab'); tab.doLayout(tabTest); ~~~ 说明:动态绑定类似于collalist。必须传cldCtype(子类类型)。 3、动态绑定模板切换组件 ![](https://box.kancloud.cn/ca809eb3992ede99aab20d6be22ccd63_374x416.png) html ~~~ <div class="rbk-tab"> <div class="rbk-tabitem" tpl="tpl" text="{text}"> <div class="rbk-navlist" tpl="tpl"> <div class="rbk-navlistitem rbk-black" tpl="tpl" navurl="{url}"> {text1}<br/> {text1}<br/> {text1} </div> </div> </div> </div> ~~~ 数据结构 ~~~ var tabTest = [{ text: 'bind测试', cldCtype: 'navlist', data: [{ text1: '普通内科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }] }, { text: 'bind测试1', cldCtype: 'navlist', data: [{ text1: '普通内科', url: '' }, { text1: '普通外科', url: '' }] }] ~~~ js ~~~ var tab = rbk.getCmp('tab'); tab.doLayout(tabTest); ~~~ 说明:模板绑定只支持navlist,可以给navlistitem添加class rbk-black去除箭头。 4.功能扩展1-左右界面tab 添加rbk-role="floortab" logwidth="30"(0-100 代表左侧区域百分比 不加该属性默认左侧百分之25。 ![](https://box.kancloud.cn/722288e759ea6ab20178ffd8a0d805b0_400x711.png) html ~~~ <div class="rbk-tab" rbk-role="floortab" logwidth="30"> <div class="rbk-tabitem" tpl="tpl" text="{text}"> <div class="rbk-navlist rbk-black" tpl="tpl"> <div class="rbk-navlistitem" tpl="tpl"> {faculty_name} <span class="sigletips">{type}</span> </div> </div> </div> </div> ~~~ js ~~~ var UI2floorList2 = [{ "cldCtype": "navlist", "text": "-2F", "data": [{ "floor": "-2F", "faculty_name": "核医学科", "faculty_region": "B2", type:"专家" }, { "floor": "-2F", "faculty_name": "车库", "faculty_region": "B2" }] }, { "cldCtype": "navlist", "text": "-1F", "data": [{ "floor": "-1F", "faculty_name": "家属患者休息区", "faculty_region": "B1", type:"专家" }, { "floor": "-1F", "faculty_name": "高低配电室", "faculty_region": "B1", type:"专家" }, { "floor": "-1F", "faculty_name": "中心吸引机房", "faculty_region": "B1", type:"普通" }, { "floor": "-1F", "faculty_name": "冷冻机房", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "物流传输机房", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "车库", "faculty_region": "B1" },{ "floor": "-1F", "faculty_name": "家属患者休息区", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "高低配电室", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "中心吸引机房", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "冷冻机房", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "物流传输机房", "faculty_region": "B1" }, { "floor": "-1F", "faculty_name": "车库", "faculty_region": "B1" }] }, { "cldCtype": "navlist", "text": "1F", "data": [{ "floor": "1F", "faculty_name": "出院处", "faculty_region": "" }, { "floor": "1F", "faculty_name": "信息中心", "faculty_region": "" }, { "floor": "1F", "faculty_name": "消控中心", "faculty_region": "" }, { "floor": "1F", "faculty_name": "保安室", "faculty_region": "" }, { "floor": "1F", "faculty_name": "监控室", "faculty_region": "" }, { "floor": "1F", "faculty_name": "星巴克", "faculty_region": "" }, { "floor": "1F", "faculty_name": "全家超市", "faculty_region": "" }, { "floor": "1F", "faculty_name": "杏一医疗用品店", "faculty_region": "" }, { "floor": "1F", "faculty_name": "休闲吧", "faculty_region": "" }] }, { "cldCtype": "navlist", "text": "2F", "data": [{ "floor": "2F", "faculty_name": "检验中心", "faculty_region": "" }, { "floor": "2F", "faculty_name": "消毒供应室", "faculty_region": "" }] }, { "cldCtype": "navlist", "text": "3F", "data": [{ "floor": "3F", "faculty_name": "重症监护室(ICU)", "faculty_region": "" }, { "floor": "3F", "faculty_name": "病理科", "faculty_region": "" }, { "floor": "3F", "faculty_name": "检验中心", "faculty_region": "" }] }]; var tab = rbk.getCmp('tab'); tab.doLayout(UI2floorList2); ~~~ 5.功能扩展2-日期选择tab 添加rbk-role="datetab" ![](https://box.kancloud.cn/2fdc6c15011c234ef3d999d4ecf553ae_401x310.png) html ~~~ <div class="rbk-tab" rbk-role="datetab"> <div class="rbk-tabitem" tpl="tpl" text="{text}"> <div class="rbk-navlist rbk-black" tpl="tpl"> <div class="rbk-navlistitem" tpl="tpl" navurl="{url}"> {text1}<br> {text1} <input type="hidden" value="ppp"> </div> </div> </div> </div> ~~~ js ~~~ var dateTab = [{ text: '周一01', cldCtype: 'navlist', data: [{ text1: '普通内科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }] }, { text: '周二02', cldCtype: 'navlist', data: [{ text1: '普通内科', url: '' }, { text1: '普通外科', url: '' }] },{ text: '周一01', cldCtype: 'navlist', data: [{ text1: '普通内科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }] },{ text: '周一01', cldCtype: 'navlist', data: [{ text1: '普通内科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }] }, { text: '周二02', cldCtype: 'navlist', data: [{ text1: '普通内科', url: '' }, { text1: '普通外科', url: '' }] },{ text: '周一01', cldCtype: 'navlist', data: [{ text1: '普通内科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }] }, { text: '周二02', cldCtype: 'navlist', data: [{ text1: '普通内科', url: '' }, { text1: '普通外科', url: '' }] },{ text: '周一01', cldCtype: 'navlist', data: [{ text1: '普通内科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }, { text1: '普通外科sdfsdf', url: '' }] }] var tab = rbk.getCmp('tab'); tab.doLayout(dateTab); ~~~ 6.功能扩展3-手势滑动tab 添加rbk-role="dragtab"即可 ~~~ <div class="rbk-tab" id="ttab" rbk-role="dragtab"> <div class="rbk-tabitem" text="标签1"> ... </div> <div class="rbk-tabitem" text="标签2"> ... </div> <div class="rbk-tabitem" text="标签3"> ... </div> </div> ~~~