| <template><div>
 <div class="title" :style="{backgroundColor:titlebg}" >
 
 
 
 <scroller ref="titlescroller" show-scrollbar=false scroll-direction='horizontal' style=" flex-direction:row; " :scrollable="false" >
 <div class="tabitem" style="flex-direction: row;" v-for="item in titlelist">
 <text class="tabtitle" :value="tabtitlemap[item]"></text>
 </div>
 </scroller>
 </div>
 <div class="bottomline"></div>
 <list class="ranklist" scroll-direction='vertical' style="flex-direction:column;" :style="{backgroundColor:tableViewBackgroundColor}">
 <cell>
 <div style="flex-direction: row;">
 <div>
 <div style="height:120;width:200;flex-direction: column; justify-content: center;border-bottom-width: 1;
 border-bottom-color: #f0f0f0;" v-for="item in bottomlist">
 <text class="lefttext"  :value="item.prod_name"></text>
 <div style="flex-direction: row;">
 <text class="lefttext2" :value="item.prod_code_all"></text>
 </div>
 </div>
 </div>
 <scroller ref="rightscroller" show-scrollbar=false scroll-direction='horizontal' style=" flex-direction:row;" @scroll="scroll" >
 <div>
 <div style="flex-direction: row;
 height: 120;border-bottom-width: 1;
 border-bottom-color: #f0f0f0;align-items:center;" v-for="item in bottomlist">
 <div style="flex-direction: column;" v-for="items in item.data">
 <text class="righttext"  :value="items.value" ></text>
 </div>
 </div>
 </div>
 </scroller>
 </div>
 </cell>
 </list>
 </div>
 </template>
 
 <style >
 .root {
 width:750px;
 position:absolute;
 bottom:0;
 }
 .title{
 flex-direction: row;
 height: 70px;
 }
 .ranklist {
 flex-direction:column;
 position:absolute;
 left: 0;
 top: 72;
 right: 0;
 bottom: 0;
 }
 .titleTextDiv{
 flex-direction: row;
 align-items:center;
 height:70px;
 }
 .titletext{
 width:200px;
 font-size: 26px;
 padding-left: 10px;
 }
 .tabitem{
 width: 200px;
 height: 70px;
 align-items: center;
 justify-content: center;
 }
 .tabtitle {
 font-size: 26px;
 color: #999999;
 }
 .lefttext{
 lines:1;
 padding-left: 10px;
 text-overflow: ellipsis;
 }
 .lefttext2{
 lines:1;
 font-size: 20px;
 margin-top:2px;
 padding-left: 10px;
 }
 .righttext{
 width: 200;
 font-size: 28px;
 text-align: center;
 }
 .righttext2{
 width: 200;
 height: 60;
 font-size: 28px;
 text-align: center;
 padding-top: 5;
 color: #999999;
 }
 .bottomline {
 width: 750;
 height: 1;
 background-color: #d6d6d9;
 }
 </style>
 
 <script>
 import Light from "light"
 const scrollerView = Light.requireModule('scrollerview');
 module.exports = {
 data:function(){
 return{
 titlebg: "#F8F8F8" ,
 titlename:"名称/代码",
 titlecolor:"#999999",
 tableViewBackgroundColor:"#ffffff",
 bottomlist:[
 {prod_name:"恒生电子",prod_code_all:"600570.SS",
 data:
 [
 {"key": "last_px", "value": 50, "color": "#000"},
 {"key": "px_change_rate", "value": '3%', "color": "#000"},
 {"key": "px_change", "value": 2, "color": "#000"},
 {"key": "business_amount", "value": 100000, "color": "#000"},
 {"key": "business_balance", "value": 100000, "color": "#000"},
 {"key": "turnover_ratio", "value": 20, "color": "#000"},
 {"key": "preclose_px", "value": 50, "color": "#000"}
 ]
 },
 {prod_name:"恒生电子",prod_code_all:"600570.SS",data:[
 {"key": "last_px", "value": 50, "color": "#000"},
 {"key": "px_change_rate", "value": '3%', "color": "#000"},
 {"key": "px_change", "value": 2, "color": "#000"},
 {"key": "business_amount", "value": 100000, "color": "#000"},
 {"key": "business_balance", "value": 100000, "color": "#000"},
 {"key": "turnover_ratio", "value": 20, "color": "#000"},
 {"key": "preclose_px", "value": 50, "color": "#000"}
 ]},
 {prod_name:"恒生电子",prod_code_all:"600570.SS",data:[
 {"key": "last_px", "value": 50, "color": "#000"},
 {"key": "px_change_rate", "value": '3%', "color": "#000"},
 {"key": "px_change", "value": 2, "color": "#000"},
 {"key": "business_amount", "value": 100000, "color": "#000"},
 {"key": "business_balance", "value": 100000, "color": "#000"},
 {"key": "turnover_ratio", "value": 20, "color": "#000"},
 {"key": "preclose_px", "value": 50, "color": "#000"}
 ]},
 {prod_name:"恒生电子",prod_code_all:"600570.SS",data:[
 {"key": "last_px", "value": 50, "color": "#000"},
 {"key": "px_change_rate", "value": '3%', "color": "#000"},
 {"key": "px_change", "value": 2, "color": "#000"},
 {"key": "business_amount", "value": 100000, "color": "#000"},
 {"key": "business_balance", "value": 100000, "color": "#000"},
 {"key": "turnover_ratio", "value": 20, "color": "#000"},
 {"key": "preclose_px", "value": 50, "color": "#000"}
 ]}
 ],
 titlelist:["last_px","px_change_rate","px_change","business_amount","business_balance","turnover_ratio","preclose_px"],
 tabtitlemap: {
 "last_px": "最新价",
 "px_change_rate": "涨跌幅",
 "px_change": "涨跌额",
 "business_amount": "成交量",
 "business_balance": "成交额",
 "turnover_ratio": "换手率",
 "preclose_px": "昨收价"
 }
 }
 },
 
 methods:{
 
 scroll:function(event){
 
 var scrollx = event.contentOffset.x;
 
 if(scrollx < 0) {
 this.cachescrollerx = scrollx
 } else if (!isNaN(scrollx)) {
 this.cachescrollerx = 0;
 } else {
 return;
 }
 if (this.$refs.titlescroller.followedHorizontalScroll){
 this.$refs.titlescroller.followedHorizontalScroll(this.cachescrollerx);
 }else if (scrollerView){
 var el = this.$refs.titlescroller;
 scrollerView.followedHorizontalScroll(el,this.cachescrollerx);
 }
 }
 },
 created:function(){
 },
 }
 </script>
 
 |