From 81e426e19db140e630f45409c1569fe16dbcc33f Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期二, 18 五月 2021 15:25:19 +0800
Subject: [PATCH] 修复点击弹窗bug
---
src/views/popup/Popup.vue | 85 ++++++++++++++----------------------------
1 files changed, 28 insertions(+), 57 deletions(-)
diff --git a/src/views/popup/Popup.vue b/src/views/popup/Popup.vue
index ac5d088..98ba35b 100644
--- a/src/views/popup/Popup.vue
+++ b/src/views/popup/Popup.vue
@@ -1,15 +1,15 @@
<template>
- <div id="popup" v-if="isShow" class="s-map-popup-panel">
- <el-tabs v-model="tabsValue" type="card" @edit="handleTabsEdit">
+ <div id="popup" class="s-map-popup-panel" style="min-width: 280px;max-width: 280px;padding: 0 10px">
+ <el-tabs type="card" :value="0">
<el-tab-pane
- :key="item.name"
- v-for="(item) in tabs"
+ :key="index"
+ v-for="(item,index) in datas"
:label="item.title"
- :name="item.name"
+ :name="index.toString()"
>
- <el-row v-for="(v,k) in filter" :key="k">
- <el-col :span="12">{{k}}</el-col>
- <el-col :span="12">{{v}}</el-col>
+ <el-row v-for="(item,key) in item.content" :key="key">
+ <el-col :span="12"><B>{{key}}锛�</B></el-col>
+ <el-col :span="12">{{item}}</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
@@ -18,74 +18,45 @@
<script>
// import '@/assets/css/map/map-popup.scss'
-import { props } from '../../conf/Constants'
export default {
name: 'Popup',
+ props: ['datas'],
data () {
return {
- tabsValue: '1',
- tabs: [{
- title: '姹¢洦姘�',
- name: '1'
- }],
+ tabsValue: '',
tabIndex: 2,
isShow: false,
- properties: {},
- props: props
+ properties: {}
}
},
computed: {
- filter () {
- var obj = {}
- for (const key in this.properties) {
- if (this.props[key]) {
- obj[this.props[key]] = this.properties[key]
- }
- }
- return obj
- }
},
methods: {
- handleTabsEdit (targetName, action) {
- if (action === 'add') {
- const newTabName = ++this.tabIndex + ''
- this.editableTabs.push({
- title: 'New Tab',
- name: newTabName,
- content: 'New Tab content'
- })
- this.editableTabsValue = newTabName
- }
- if (action === 'remove') {
- const tabs = this.editableTabs
- let activeName = this.editableTabsValue
- if (activeName === targetName) {
- tabs.forEach((tab, index) => {
- if (tab.name === targetName) {
- const nextTab = tabs[index + 1] || tabs[index - 1]
- if (nextTab) {
- activeName = nextTab.name
- }
- }
- })
+ filter (content) {
+ var obj = {}
+ for (const key in content) {
+ if (this.props[key]) {
+ obj[this.props[key]] = content[key]
}
-
- this.editableTabsValue = activeName
- this.editableTabs = tabs.filter(tab => tab.name !== targetName)
}
- },
- setDatas (feature) {
- this.properties = feature.properties
+ // console.log(obj)
+ return obj
},
setShow () {
// this.style.display='auto'
- this.data = 'adsfadfsadfsdafsdfsdfdsafsdafsdafa'
this.isShow = true
},
onClick () {
const param = 1111
this.$emit('callPopup', param)
+ }
+ },
+ watch: {
+ datas (newVal) {
+ if (newVal != null) {
+ this.tabsValue = newVal[0].name
+ }
}
}
}
@@ -94,9 +65,9 @@
<style lang="less" >
@import '../../assets/css/map/map-popup.less';
#popup{
- .el-tabs__content{
- max-height: 300px;
- overflow: auto;
+ .el-tabs__content{
+ max-height: 240px;
+ overflow-y: scroll;
}
}
</style>
--
Gitblit v1.8.0