Skip to content

QilinView组件

QilinView组件是一个展示型组件,主要用于展示详情页。

基本使用

vue
<template>
    <QilinView v-model:viewConfig="viewConfig">
        <template v-slot:custom="slotData">
            <div style="display:inline;width:auto;">{{ slotData.data.data }}</div>
        </template>
    </QilinView>
</template>

<script setup>
import {reactive,ref} from "vue";


/*
    响应式选项区域
*/


/*
    数据变量定义区域
*/


/*
    计算属性等代码区域
*/


/*
    逻辑脚本代码区域
*/
const viewConfig=reactive({
    globalConfig:{
        isTable:true,
        // borderColor:"red",
        labelBackgroundColor:"#FAFAFA",
        labelColor:"rgba(0,0,0,0.85)",
        valueColor:"rgba(0,0,0,0.65)"
    },
    headerConfig:{
        hideHeader:false,
        headerText:""
    },
    itemConfig:[
        {
            label:"姓名",
            value:"name",
            type:"text",
            class:"qilin-text-success",
            customStyle:{
                color:"red",
                fontSize:"20px",
                fontWeight:"bolder"
            },
            col:8
        },
        {
            label:"简介",
            value:"description",
            type:"text",
            valueEllipsis:true,
            col:16
        },
        {
            label:"Qilin官网作者Qilin官网作者Qilin官网作者",
            value:"detail",
            type:"text",
            labelEllipsis:true,
            col:24
        },
        {
            label:"生辰",
            value:"birthday",
            type:"date",
            format:"chinese",
            valueEllipsis:true,
            col:12
        },
        {
            label:"Qilin官网",
            value:"qilinWeb",
            type:"link",
            valueStyle:"color:red !important;",
            click:(item,value)=>{
                console.log(item,value);
                window.open(value);
            },
            valueEllipsis:true,
            col:12
        },
        {
            label:"最喜欢颜色",
            value:"color",
            type:"color",
            col:24
        },
        {
            label:"换行文本",
            value:"lineText",
            type:"text",
            newLine:true,
            col:24,
        },
        {
            label:"富文本",
            value:"car",
            type:"richtext",
            valueEllipsis:true,
            col:24
        },
        {
            label:"作者图片1",
            value:"imageArrayString",
            type:"image",
            isImageArrayString:true,
            imageFit:"fill",
            col:12
        },
        {
            label:"作者图片2",
            value:"imageArrayObj",
            type:"image",
            isImageArrayString:false,
            imageIp:"https://www.qilin-web.cn/qilin",
            // imageIp:"https://szxy.jsisi.cn/qilin",
            // imageIp:"http://szxy.jsisi.cn",
            imageOptions:{
                serverUrl:"fileName"
            },
            imageFit:"fill",
            col:12
        },
        {
            label:"作者图片3",
            value:"imageArrayObj2",
            type:"image",
            isImageArrayString:false,
            imageFit:"fill",
            imageOptions:{
                serverUrl:"name"
            },
            col:24
        },
        {
            label:"作者文档1",
            value:"fileArrayString",
            type:"file",
            isImageArrayString:true,
            valueEllipsis:true,
            click:(item,value)=>{
                console.log(item,value);
            },
            col:8
        },
        {
            label:"作者文档2",
            value:"fileArrayObj",
            type:"file",
            isImageArrayString:false,
            click:(item,value)=>{
                console.log(item,value);
            },
            col:16
        },
        {
            label:"作者文档3",
            value:"fileArrayObj2",
            type:"file",
            isImageArrayString:false,
            imageOptions:{
                serverOriginalName:"name"
            },
            click:(item,value)=>{
                console.log(item,value);
            },
            col:24
        },
        {
            label:"插槽",
            value:"custom",
            type:"slot",
            slotName:"custom",
            valueEllipsis:true,
            col:12
        },
        {
            label:"作者介绍",
            value:"detail",
            type:"text",
            textarea:true,
            rows:3,
            col:12
        }
    ],
    viewData:{
        name:"Qilin",
        description:"Qilin组件的创始者,前端插件的搬运工",
        detail:"Qilin组件的创始者,前端插件的搬运工,Qilin工具库的封装者,Qilin官网的作者,尘世中一个迷途小前端~",
        birthday:"1996-05-12",
        qilinWeb:"https://www.qilin-web.cnQilin组件的创始者,前端插件的搬运工,Qilin工具库的封装者,Qilin官网的作者,尘世中一个迷途小前端",
        color:"yellow",
        lineText:"请完成三化二级平台24年商务工作。建议步骤如下。报账进入流程可完成任务。\n(1)11月份,完成全部费…分与计算,完成工作量评审。\n(3)11月或12月,完成订单验收 \n(4)12月,完成整体付款工作。",
        car:"<b>永恒转动的机械,助我突破自身的限制,我......长安univ,即是黑暗,也是天选,转子发动机,启动!永恒转动的机械,助我突破自身的限制,我......长安univ,即是黑暗,也是天选,转子发动机,启动!</b>",
        imageArrayString:["https://www.qilin-web.cn/qilin/uploads/image_20230918151155.jpeg"],
        imageArrayObj:[
            {
                fileName:"/uploads/image_20230918151155.jpeg",
                url:"http://szxy.jsisi.cn/profile/upload/2025/05/28/watermarked_20250528160812A001.jpg"
            },
            {
                fileName:"/uploads/image_20230918151155.jpeg",
                url:"http://szxy.jsisi.cn/profile/upload/2025/05/28/watermarked_20250528160812A001.jpg"
            }
        ],
        imageArrayObj2:[
            {
                name:"https://www.qilin-web.cn/qilin/uploads/image_20230918151155.jpeg"
            }
        ],
        fileArrayString:["dhadadjasdjafjak.doc","dhadadjasdjafjak1.doc"],
        fileArrayObj:[
            {
                originalFilename:"dhadadjasdjafjak.doc"
            }
        ],
        fileArrayObj2:[
            {
                name:"dhadadjasdjafjak.doc"
            }
        ],
        custom:"作者的自定义插槽~Qilin组件的创始者作者的自定义插槽~Qilin组件的创始者作者的自定义插槽~Qilin组件的创始者",
        detail:"Qilin组件的创始者,前端插件的搬运工,Qilin工具库的封装者,Qilin官网的作者,尘世中一个迷途小前端~"
    }
});


/*
    生命周期等代码区域
*/


</script>

<style lang="scss" scoped>
</style>

示例:

Props 参数

viewConfig object

核心配置项,支持以下参数。

属性名类型
说明
可选值默认值
globalConfigobject组件全局样式和展示行为配置,详见 globalConfig--
headerConfigobject头部显示设置,详见 headerConfig--
itemConfigarray显示字段配置,详见 itemConfig--
viewDataobject显示数据对象,详见 viewData--

globalConfig object

组件的全局样式和展示行为配置。

属性类型说明默认值
isTableboolean是否以表格形式展示true
labelBackgroundColorCssColorlabel标签背景颜色#FAFAFA
labelColorCssColorlabel标签字体颜色rgba(0,0,0,0.85)
valueColorCssColorvalue字体颜色rgba(0,0,0,0.65)
borderColorCssColor表格边框颜色#E9E9E9

headerConfig object

头部显示设置。

属性类型说明默认值
hideHeaderboolean是否隐藏头部标题false
headerTextstring头部标题文本"基本信息"

itemConfig array

显示字段配置。

属性类型说明可取值默认值
labelstring字段显示标题--
valuestring对应数据字段名称--
typestring显示数据类型text, date, link, slot,image,file,colortext
hideLabelboolean是否隐藏labeltrue,falsefalse
isHideboolean是否隐藏该项true,falsefalse
isHideFnfunction是否隐藏该项的函数,优先级低于isHide(item,value)=>{return true/false;}-
textareabooleantext类型是否是多行文本,当且仅当type为text时生效true,falsefalse
newLineboolean是否识别value值中的\n换行符,当且仅当type为text时生效true,falsefalse
rowsnumbertextarea的高度,1对应40px,当textarea为true时生效-2
slotNamestring自定义插槽名称--
formatstring日期格式配置项,具体配置项请参考QilinUtils工具库中Date方法中的formatDate()方法,当且仅当type为date时生效-yyyy-MM-dd hh:mm:ss
valueEllipsisboolean是否省略超出value文本true,falsefalse
colnumber栅格宽度6,8,12,16,18,248
classNamestring额外添加在el-col元素上的类名-
labelSuffixstringlabel标签后缀符号-
labelEllipsisbooleanlabel标签是否超出悬浮展示true,falsefalse
labelEllipsisPlacementstringlabel标签设置悬浮提示的位置top,top-start,top-end,bottom,bottom-start,bottom-end,left,left-start,left-end,right,right-start,right-endleft
labelEllipsisEffectstringlabel标签超出悬浮框的样式主题dark,lightdark
classstringvalue值的自定义类名,取值为字符串,当且仅当type为text时生效-
customStyleobjectvalue值的自定义样式,取值为对象,当且仅当type为text时生效{}
clickfunction点击事件,当type为link或file时生效(item,value)=>{}-
isImageArrayStringboolean传入的图片或文件数据类型是字符串数组还是对象数组,默认为对象数组true,falsefalse
imageFitstring图片填充模式fill,contain,cover,none,scale-downcontain
imageIpstring设置查看图片或文件的服务器IP地址--
imageOptionsobject查看图片或文件时的设置配置项--仅当type=image/type=file且isImageArrayString为false时生效,详见 imageOptions--
imageOptions object
配置项类型说明可取值默认值
serverOriginalNamestring原始文件名称,用以对应后台返回的字段名称-originalFileName
serverNamestring回显文件名称,用以对应后台返回的字段名称-newFileName
serverUrlstring回显文件url,用以对应后台返回的字段名称-fileName

viewData object

回显数据的后台对应字段。

Slots插槽

QilinView 组件提供了以下插槽:

插槽名称数据值说明
data:{item,data}设置headerConfig配置项中的type为slot即可使用,用于需要对某项数据进行特殊处理的需求,其中设置的slotName属性值就是该插槽名