Commit ca5feae3 authored by 毛线's avatar 毛线

demo组件

parent 385aef76
...@@ -2,11 +2,13 @@ ...@@ -2,11 +2,13 @@
import CyTable from './packages/table/index.js'; import CyTable from './packages/table/index.js';
import CyLayout from './packages/layout/index.js'; import CyLayout from './packages/layout/index.js';
import CyUpload from './packages/form/upload/index.js'; import CyUpload from './packages/form/upload/index.js';
import CyDemoBlock from './packages/other/demo-block/index.js';
const components = [ const components = [
CyTable, CyTable,
CyLayout, CyLayout,
CyUpload, CyUpload,
CyDemoBlock,
]; ];
const install = function(Vue, opts = {}) { const install = function(Vue, opts = {}) {
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<!-- 内容区域 --> <!-- 内容区域 -->
<div class="content"> <div class="content">
<!-- 自定义table组件 --> <!-- 自定义table组件 -->
<LqLayoutTable ref="table" v-if="table.show" :primary-key="primaryKey" :list-api="api.list" :props="table" :params="tableParams" @selectRow="(e) => {$emit('selectRow', e); selection = e}"> <LqLayoutTable ref="table" v-if="table.show !== false" :primary-key="primaryKey" :list-api="api.list" :props="table" :params="tableParams" @selectRow="(e) => {$emit('selectRow', e); selection = e}">
<template v-for="column in table.columns.filter(i => i.type == 'slot')" #[column.slotName]="{ data, $index }"> <template v-for="column in table.columns.filter(i => i.type == 'slot')" #[column.slotName]="{ data, $index }">
<slot :name="column.slotName" :data="data" :index="$index"/> <slot :name="column.slotName" :data="data" :index="$index"/>
</template> </template>
...@@ -373,6 +373,7 @@ export default { ...@@ -373,6 +373,7 @@ export default {
} }
} }
this.$nextTick(() => { this.$nextTick(() => {
console.log('搜索', this.$refs)
this.$refs.table.network().getData() this.$refs.table.network().getData()
}) })
}, },
......
import Demo from './src/main';
/* istanbul ignore next */
Demo.install = function(Vue) {
Vue.component(Demo.name, Demo);
};
export default Demo;
<template>
<div :class="[hover ? 'hover' : '',]" class="demo-block" @mouseenter="hover = true" @mouseleave="hover = false">
<h2 v-if="$slots.title" >
<slot name="title"/>
</h2>
<p v-if="$slots.descript" >
<slot name="descript"/>
</p>
<div class="demo-content">
<slot />
<div v-if="showCode" class="demo-code">
<slot name="code" class="code" />
</div>
<div>
<div :class="[hoverControl ? 'hover' : '',]" class="footer" @mouseenter="hoverControl = true" @mouseleave="hoverControl = false" @click="showCode = !showCode">
<i :class="footerIcon"/>
<transition name="fade">
<span v-if="hover"><span class="label">{{ footerLabel }}</span></span>
</transition>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'demo-block',
data() {
return {
hover: false, // 鼠标悬停
hoverControl: false, // 鼠标悬停
showCode: false,
}
},
computed: {
footerIcon() {
const { showCode } = this
return showCode ? 'el-icon-caret-top' : 'el-icon-caret-bottom'
},
footerLabel() {
const { showCode } = this
return showCode ? '隐藏代码' : '显示代码'
},
},
}
</script>
<style lang="scss" scoped>
.demo-block{
::v-deep .el-card__body{
padding: 0;
}
&.hover{
.demo-content{
box-shadow: 0 0 8px 0 rgb(232 237 250 / 60%), 0 2px 4px 0 rgb(232 237 250 / 50%);
}
.footer{
transform: translateX(-30px);
}
}
.demo-code{
background: #ebebeb;
padding: 10px;
xmp{
margin: 0;
}
}
.demo-content{
border: 1px solid #ebebeb;
transition: .3s;
}
.footer{
transition: .3s;
border-top: 1px solid #ebebeb;
text-align: center;
line-height: 40px;
cursor: pointer;
color: #DCDFE6;
.label{
margin: 0 10px;
position: absolute;
font-size: 14px;
// transform: translateX(-30px);
}
&.hover{
color: #409EFF;
.label{
}
}
}
}
</style>
...@@ -173,8 +173,8 @@ export default { ...@@ -173,8 +173,8 @@ export default {
selectionChange: (select) => { selectionChange: (select) => {
this.selectData = select this.selectData = select
if (this.init) { if (this.init) {
this.$emit('selectRow', this.selectData)
this.$emit('select-row', this.selectData) this.$emit('select-row', this.selectData)
this.$emit('selection-change', this.selectData)
} }
}, },
rowclass: ({ row, rowIndex }) => { rowclass: ({ row, rowIndex }) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment