element组件,table组件里面嵌套popover组件,点击出现三个popover组件
<el-table
:data="tableData"
border
style="width: 100%">
<el-table-column
fixed
prop="date"
label="日期"
width="150">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="120">
</el-table-column>
<el-table-column
prop="province"
label="省份"
width="120">
</el-table-column>
<el-table-column
prop="city"
label="市区"
width="120">
</el-table-column>
<el-table-column
prop="address"
label="地址"
width="300">
</el-table-column>
<el-table-column
prop="zip"
label="邮编"
width="120">
</el-table-column>
<el-table-column
fixed="right"
label="操作">
<template slot-scope="scope">
{{scope.$index}}
<el-popover
placement="bottom"
title="标题"
width="200"
v-model="tableData[scope.$index].isShow"
trigger="click"
content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。">
<!-- <el-button @click="cancel">取消</el-button>-->
<el-button slot="reference" @click.stop="handleClick(scope.$index)">click 激活</el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<script type="text/ecmascript-6">
export default {
name: "index",=
data () {
return {
tableData: [{
date: '2016-05-03',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333,
isShow: false
}, {
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}]
}
},
methods: {
cancel(scope) {
this.tableData.forEach((item) => {
item.isShow = false;
})
},
handleClick(row) {
console.log("handleClick");
row.isShow = true;
}
}
};
</script>
点击click激活按钮,会出现三个popover
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
定位到是表格中
fixed
属性导致的,删除该属性表现正常,应该是fixed属性是通过复制列来实现的,两个fixed相当于多了两列,加上原先的那一列,正好展示3个。此外和楼上一样这个click参数不对,要使用click改变el-popover的状态,trigger应该设置为
manual
,还有就是直接设置为true会一直展示popover的哦。正常的demo
回答有帮助还望采纳,点赞,不甚感激。
我感觉你的代码里面有几处问题。
(1)tableData中只有第一个有isShow,其他都没有这个参数。
(2)定义的方法与调用的函数有矛盾。
handleClick函数调用时的参数scope.$index只拿到了当前行的index。index没有isShow属性。
所以建议这些改成scope.row。
修改之后我感觉应该问题不大。