0.0.17 • Published 3 years ago

j-form-table v0.0.17

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

form-table 表单式表格

表单式表格,使用时只需要传需要展示的标题和数据.

基于 element-ui 2.x

LICENSE

安装

npm i j-form-table

在 vue 应用的入口文件中使用:

import FormTable from 'form-table'
Vue.use(FormTable)
// 可全局配置 title 的宽度 默认是 120 单位 px
Vue.use(FormTable, { titleWidth: 150 })

常用 props

prop说明类型是否必需默认值其他
titleList组件配置[]{title:'',prop:''}
data从该属性中取值来展示Object{}
title整个组件的标题String''
titleWidth标题宽度Number120单位为px
titleNumPreRow一行有几个titlepropNumber3只能是1,2,3,4,5,6

基本用法

配置 titleListdata 即可展示数据;

<template>
  <div>
    <FormTable title="使用例子" :data="data" :titleList="titleList" />
    <FormTable
      title="使用例子"
      :data="data"
      :titleList="titleList"
      :titleWidth="150"
    />
  </div>
</template>

<script>
  const img =
    'https://tva1.sinaimg.cn/large/008i3skNgy1gu9gco1hdbj605k05kgll02.jpg'
  export default {
    name: 'App',
    data() {
      return {
        data: {
          name: 'LiHei',
          image: img,
          job: 'web dev',
          slary: '3000',
          address: '四川省成都市成华区十里店寺庙',
          education: '本科',
          isGood: 1
        },
        titleList: [
          { title: '姓名', prop: 'name' },
          {
            title: '头像',
            // 自定义 title 属性值
            titleTips: data => {
              return (data.image && '生成图,点击放大') || '暂无头像'
            },
            prop: (h, data) => {
              return (
                <div style={{ width: '50px', height: '200px' }}>
                  <img src={data.image} alt='我的头像:超级无敌美丽' />
                </div>
              )
            }
          },
          {
            title: '职业',
            prop: 'job'
          },
          {
            title: '月薪',
            prop: (h, data) => {
              return <span>{data.slary + '$'}</span>
            },
            enableCopy: true // 开启点击赋值内容
          },
          {
            title: '住址',
            prop: 'address',
            enableCopy: true,
            span: 2
          },
          {
            title: '学历',
            prop: 'education',
            span: 1
          },
          {
            title: '是否统招',
            prop: (h, data) => {
              const map = { 0: '否', 1: '是' }
              return <span>{map[data.isGood]}</span>
            },
            span: 2
          }
        ]
      }
    }
  }
</script>

效果

上述渲染效果

0.0.17

3 years ago

0.0.16

3 years ago

0.0.15

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago