2017-06-16 73 views
0

我是一个极端的初学者到Vue公司,我试图创建一个数据表,当你点击一个排它展开并显示图表行的元素直接出现。有了这个,我有两个问题,如果你能帮助我。当我点击某一行上没有显示,但然后当我点击一个又一个,图表出现在第一。第二个是我想一次只打开一行。我怎样才能得到,当我使用扩展的Vue

在此先感谢!

<div class="right-side-table"> 
 
    <el-table :data="" style="width: 100%; max-height: 100%" element-loading-text="" highlight-current-row empty-text="N/A" @expand="handleRowExpansion"> 
 

 
    <el-table-column type="expand"> 
 
     <template scope="props"> 
 
      <p>#: {{ props.row.dateUTC }}</p> 
 
      <p>#: {{ props.row.creator }}</p> 
 
      <p>#: {{props.row.type }}</p> 
 
      <p>#: {{ props.row.labels }}</p> 
 
      <p>#: {{ props.row.uid }}</p> 
 
      <canvas id="myChart4" width="300" height="300"></canvas> 
 
      <canvas id="myChart6" width="300" height="300"></canvas> 
 
      <canvas id="myChart5" width="300" height="300"></canvas> 
 
            
 
        
 
      <div> 
 
       <el-button type="primary" @click="">Review</el-button> 
 
      </div> 
 
     </template> 
 
    </el-table-column> 
 
    <el-table-column prop="name" label="Name" sortable show-overflow-tooltip></el-table-column> 
 
    <el-table-column prop="" label="" sortable show-overflow-tooltip></el-table-column> 
 
    <el-table-column prop="" label="" sortable show-overflow-tooltip></el-table-column> 
 
    <el-table-column prop="" label="" sortable show-overflow-tooltip></el-table-column> 
 
    <el-table-column prop="" label="" sortable show-overflow-tooltip></el-table-column> 
 
    </el-table> 
 
</div>

+0

显示您的JS也... – Ju66ernaut

回答

2

我打元素的UI一点点,并设法使其工作:

new Vue({ 
 
    el: "#app", 
 
    data() { 
 
    return { 
 
     tableData: [{ 
 
     key: 1, 
 
     date: '2016-05-03', 
 
     address: 'No. 189, Grove St, Los Angeles' 
 
     }, { 
 
     key: 2, 
 
     date: '2016-05-02', 
 
     address: 'No. 189, Grove St, Los Angeles' 
 
     }, { 
 
     key: 3, 
 
     date: '2016-05-04', 
 
     address: 'No. 189, Grove St, Los Angeles' 
 
     }], 
 
    } 
 
    }, 
 

 
    methods: { 
 
    expand(row, isExpanded) { 
 
     this.$refs.tab.store.states.expandRows = isExpanded ? [row] : [] 
 
    } 
 
    } 
 
})
<script src="https://vuejs.org/js/vue.min.js"></script> 
 

 
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-default/index.css"> 
 
<!-- import JavaScript --> 
 
<script src="https://unpkg.com/element-ui/lib/index.js"></script> 
 

 

 
<div id="app"> 
 
    <el-table ref="tab" :data="tableData" @expand="expand"> 
 
    <el-table-column type="expand"> 
 
     <template scope="props"> 
 
      <p>Address: {{ props.row.address}}</p> 
 
     </template> 
 
    </el-table-column> 
 
    <el-table-column prop="date" label="Date"></el-table-column> 
 
    </el-table> 
 
</div>

请记住,虽然,即操纵内部商店状态肯定是不推荐,也许不支持,但它的工作原理:)

+0

我们谈到了[行扩展(https://stackoverflow.com/a/44548717/38065)怀疑有一天,我没有评论链接它的唯一理由是因为OP使用'element-ui'。你有一个与'element-ui'一起工作的解决方案吗? – Bert

+0

感谢您指出它的元素UI集成问题。玩了一段时间,似乎是可行的。请参阅更新的答案@BertEvans – damienix

+0

第一步,得到的东西的工作。很好的工作:) – Bert