vue制作的组件ContentHead,TableSeach

<div>ContentHead.vue</div>
    <template>
        <div class="content-head">
            <div class="content-head-title">
                <span v-if="hasBack" class="backicon" @click="handleBack">
                    <pay-icon-arrow-left/>
                </span>
                <span >
                    {{title}}
                </span>
            </div>
            <pay-tooltip v-show="hasTooltip" :content="tooltip" position="bottom">
                <i class="fa fa-question-circle" aria-hidden="true"></i>
            </pay-tooltip>    
            <div class="content-head-tools">
                <slot name="right"></slot>
            </div>
        </div>
        
    </template>
    <script>
        export default{
          props:{
              title:{
                  type:String
              },
              hasBack:{
                  type:Boolean,
                  default:false
              },
              backUrl:{
                  type:String
              },
              hasTooltip:{
                  type:Boolean,
                  default: false,
              },
              tooltip:{
                  type:String,
                  default:""
              }
              
          },
          methods:{
              handleBack(){
                  if(this.backUrl){
                      this.$router.push(this.backUrl);
                  }else{
                      this.$router.go(-1)
                  }
              }
          }
        
        }
    </script>

<div>TableSeach.vue</div>
    <template>
        <div :class="{'search-line':line}" class="form clearfix">
            <pay-select v-model="selectedField" :width="160" placeholder="请选择" class="fl">
                <pay-option v-for="option in options" :key="option.value" :value="option.value" :choosed-text="option.text">{{option.text}}</pay-option>
            </pay-select>
            <pay-input v-model="keyword_cache" :placeholder="searchPlaceholder" class="fl" @keydown.enter="submitSearch"/>
        <pay-button primary class="fl" @click="submitSearch"><pay-icon-search/></pay-button>
        
        </div>
    </template>
    <script>
        import trim from 'lodash/trim';
        export default{
            props:{
                options:{
                    type:Array,
                    default(){
                        return [];
                    }
                },
                placeholder:String,
                keyword:String,
                searchField:String,
                inline:Boolean
            },
            data(){
                return {
                    selectedField:'',
                    keyword_cache:'',
                }
            },
            computed:{
                searchPlaceholder(){
                    return this.placeholder||"输入文本";
                }
            },
            watch:{
                selectedField(val){
                    this.$emit('update:searchfield',val);
                },
                searchField(val){
                    this.selectedfiel=val;
                },
                keyword(val){
                    this.keyword_cache=val;
                }
            },
            mounted(){
                this.selectedField=this.searchField;
                this.keyword_cache=this.keyword;
            },
            methods:{
                submitSearch(){
                    this.$emit('update:keyword',trim(this.keyword_cache));
                    this.$emit("onSubmit")
                }
            }
        }
    </script>
    
    <div> Confirm.vue</div>
    <template>
        <pay-modal :open.sync="isOpen" :title="title" :size="size" scrollable>
            <div class="content  text-center" v-if="content">
                {{content}}
            </div>
            <div class="info  text-center" v-if="info">
                {{info}}
            </div>
            <slot v-esle name="content"></slot>
            <div slot="footer">
                <pay-button v-loading="submiting" class="btn-with-minwidth" primary @click="confirm">
                    {{confirmText}}
                </pay-button>
                <pay-button  class="btn-with-minwidth" primary @click="cancel">
                    {{cancelText}}
                </pay-button>
            </div>
        </pay-modal>
    </template>
    <script>
        export default{
            props:{
                cancelText:{
                    type:String,
                    default:'取消'
                },
                confirmText:{
                    type:String,
                    default:'确定'
                },
                title:{
                    type:String,
                    default:'提示'
                },
                content:{
                    type:String,
                    
                },
                info:{
                    type:String,
                    
                },
                size:{
                    type:String,
                    
                },
                isOpen:{
                    type:Boolean,
                    default:false
                },
                submiting:{
                    type:Boolean,
                    default:false
                }
            },
            data(){
                return{}
            },
            methods:{
                confirm(){
                    this.$emit('onConfim');
                },
                cancel(){
                    this.$emit('onCancel');
                }
            }
        }
    </script>
    
    <div>monaco编辑器</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值