编辑展开关闭操作

//控制面板里面写基本信息 
//第一层服务器信息点击是自己默认设置一个  第二层是后端返回的isOpen
 <div class="examples-tab-panel">
            <sf-tab-panel :active-item="0">
                <sf-tab-item title="基本信息">
                    <div class="tab-content">
                    //changeEdit是否触发edit编辑
                        <span class="edit" @click="changeEdit"> <i class="sf-comp-iconfont icon-comp-edit"></i>
                            编辑
                        </span>
                        <sf-form :label-width="200" ref="basicForm">
                        //服务器展开收缩的写法
                        <div class="content">
                            <div :class="serverColse ? 'colseItem': '' ">
                                <h1 class="cont-title"
                                    @click="serverColse = !serverColse" 
                                    v-if='DetailInfo.serverDetailList.length>0'>
                                    //展开的时候样式呈现+ 收缩的时候呈现- 
                                    <strong class="checkStrong">{{serverColse?'-':'+'}}</strong>
                                    服务器信息
                                </h1>
                                <div class="contentItem" v-for="(item,i) in DetailInfo.serverDetailList" :key='item.id'>
                                <span class="contentItemTitle" @click="item.isOpen = !item.isOpen">
                                //isOpen是后端返回一个Boolean值
                                    <strong v-show='item.isOpen'>+</strong>
                                    <strong  v-show='!item.isOpen'>-</strong>
                                    服务器{{i+1}}
                                </span>   
                                <div class="infos" :class="item.isOpen?'':'closeInfo'">
                                    <p class="info">
                                        <label class="info-title">服务器名称:</label> 
                                        <label class="info-content" v-show='isEdit'>{{item.name}}</label>
                                       <sf-textfield
                                            v-show='!isEdit' 
                                            v-model="item.memoryResources"
                                            :default-width="150" />
                                    </p>
   
<script lang="ts">
//接口定义 
interface Data {
    serverDetailList: Array<any>;
  }
export default class AcceptAssetInfo extends Vue {
	//默认初始可编辑
	isEdit = true 
	//服务器展开收缩状态
	serverColse = true
	
	DetailInfo: Data = {
	//设置服务器的对象存储
	    serverDetailList:[],
	 },
	 //点击编辑可切换
	 changeEdit () {
	      this.isEdit =  !this.isEdit;
	  }
}
<style>
	.content{
         margin-right: 20px;
         overflow: hidden;
         .cont-title{
             background: #eee;
             font-size: 16px;
             line-height: 60px;
             height: 60px;
             font-weight: 900;
             margin-top: 10px;
             text-indent: 20px;
             text-align: left;
             //设置框框,边框
             .checkStrong{
                 font-weight: 900;
                 border:1px solid #000;
                 display: inline-block;
                 text-indent: 0;
                 font-size: 16px;
                 width: 20px;
                 height: 20px;
                 line-height: 16px;
                 text-align: center;
             }
         }
     .contentItem{
        height: auto;
        overflow: hidden;
	     .contentItemTitle{
	          margin-right: 10px;
	          border: 1px solid #eee;
	          line-height: 40px;
	          height: 40px;
	          width: 100%;
	          display: block;
	          padding-left: 10px;
	          margin-bottom: 10px;
	          font-size: 14px;
	          font-weight: 900;
	          strong{
	              border: 1px solid #666;
	              font-weight: 900;
	              display: inline-block;
	              width: 18px;
	              height: 18px;
	              font-size: 14px;
	              line-height: 16px;
	              text-align: center;
	              margin-right: 10px;
	          }
	      }
	.colseItem .contentItem{
             height: 0;
         }
     .closeInfo{
          height: 0px;
          overflow: hidden;
      }
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值