vue 组件的小问题 --- <table>><tbody>><tr> 在页面中显示错乱的问题解决

is 解决多个具体小 bug

<table> tbody > tr 必须是这么写的。但是在 Vue中你写一个<row>的子组件之后放到 tbody 标签里面之后会在页面出现错乱,<row> 并没有包裹在table中,那么我们应该怎么办呢? 方法就是在 正常写 <tr is="row"></tr> 在 tr中加入 is="row" 告诉浏览器 tr 就是 row .

<div id="app">
        <table>
            <tbody>
                <tr is="row"></tr>
                <tr is="row"></tr>
                <tr is="row"></tr>
                <!-- <ul>
                    <li is="row"></li>
                </ul> -->

            </tbody>
        </table>
    </div>
	
	Vue.component('row', {
            template: '<tr><td>this is a row</td></tr>'
        })
        var vm = new Vue({
            el: "#app"
        })
		```
类似的问题还有  ul> li  , ol> li , select> option 等一些同样的问题参考上述解决方案

转载于:https://my.oschina.net/u/3520255/blog/3025328

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以在原有的代码基础上进行修改,将查询功能和结果集集成到现有的表格。以下是一个示例代码: ```html <template> <div> <input type="text" v-model="searchId" placeholder="请输入sample_id"> <button @click="search">搜索</button> <el-table ref="multipleTable" :data="filteredData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="sample_id" label="sample_id" width="120"> <template slot-scope="scope">{{ scope.row.sample_id }}</template> </el-table-column> <el-table-column prop="feature0" label="feature0" width="120"></el-table-column> <el-table-column prop="feature1" label="feature1" width="120"></el-table-column> <el-table-column prop="feature2" label="feature2" width="120"></el-table-column> <el-table-column label="操作" fixed="right" width="135"> <template slot-scope="scope"> <el-button type="text" @click=handleEdit(scope.$index)>编辑</el-button> <el-button type="text" @click="deleteRow(scope.$index)">删除</el-button> </template> </el-table-column> </el-table> </div> </template> <script> export default { data() { return { searchId: '', tableData: [ { sample_id: '001', feature0: 'value0', feature1: 'value1' }, { sample_id: '002', feature0: 'value2', feature1: 'value3' }, { sample_id: '003', feature0: 'value4', feature1: 'value5' } ] } }, computed: { filteredData() { if (this.searchId.trim() === '') { return this.tableData; } else { return this.tableData.filter(item => { return item.sample_id.includes(this.searchId); }); } } }, methods: { search() { // 在这里实现查询逻辑 // 可以根据 sample_id 进行过滤 }, handleEdit(index) { // 处理编辑操作 }, deleteRow(index) { // 处理删除操作 }, handleSelectionChange(val) { // 处理表格选项变化 } } } </script> ``` 在这个示例,我们将原有的 `filteredData` 计算属性修改为根据 `searchId` 进行过滤的结果集。如果 `searchId` 为空,则返回完整的 `tableData`;否则,使用 `filter` 方法过滤 `tableData`,只返回 `sample_id` 包含 `searchId` 的项。这样,每当用户输入搜索关键字时,表格会动态显示符合条件的数据。 注意:这里的数据是模拟数据,你需要根据实际情况进行调整和替换。 希望这对你有帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值