一个基于 vue 的 PC 端组件库
80+ ✔ | 80+ ✔ | 90+ ✔ | 75+ ✔ | 10+ ✔ |
npm install vxe-table@3 vxe-pc-ui@3
import Vue from 'vue'
// ...
import VxeTable from 'vxe-table'
import 'vxe-table/lib/style.css'
// ...
import VxeUI from 'vxe-pc-ui'
import 'vxe-pc-ui/lib/style.css'
// ...
Vue.use(VxeUI)
Vue.use(VxeTable)
使用第三方 CDN 方式记得锁定版本号,避免受到非兼容性更新的影响
不建议将第三方的 CDN 地址用于正式环境,因为该连接随时都可能会失效
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- style -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-pc-ui@3/lib/style.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table@3/lib/style.css">
<!-- vue -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<!-- table -->
<script src="https://cdn.jsdelivr.net/npm/xe-utils"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-pc-ui@3"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-table@3"></script>
</head>
<body>
<div id="app">
<div>
<vxe-form
:data="formData"
@submit="submitEvent">
<vxe-form-item title="名称" field="name" span="12" :item-render="{}">
<template #default="params">
<vxe-input v-model="formData.name"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="角色" field="role" span="12" :item-render="{}">
<template #default="params">
<vxe-input v-model="formData.role"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="年龄" field="age" span="12" :item-render="{}">
<template #default="params">
<vxe-input v-model="formData.age"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item align="center" span="24" :item-render="{}">
<template #default>
<vxe-button type="submit" status="primary">提交</vxe-button>
<vxe-button type="reset">重置</vxe-button>
</template>
</vxe-form-item>
</vxe-form>
</div>
</div>
<script>
(function () {
var App = {
data() {
return {
formData: {
name: '',
nickname: '',
sex: '',
role: ''
}
}
},
methods: {
submitEvent () {
VxeUI.modal.message({ content: '保存成功', status: 'success' })
}
}
}
Vue.createApp(App).use(VxeUI).use(VXETable).mount('#app')
})()
</script>
</body>
</html>
<template>
<div>
<vxe-form
:data="formData"
@submit="submitEvent">
<vxe-form-item title="名称" field="name" span="12" :item-render="{}">
<template #default="params">
<vxe-input v-model="formData.name"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="角色" field="role" span="12" :item-render="{}">
<template #default="params">
<vxe-input v-model="formData.role"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item title="年龄" field="age" span="12" :item-render="{}">
<template #default="params">
<vxe-input v-model="formData.age"></vxe-input>
</template>
</vxe-form-item>
<vxe-form-item align="center" span="24" :item-render="{}">
<template #default>
<vxe-button type="submit" status="primary">提交</vxe-button>
<vxe-button type="reset">重置</vxe-button>
</template>
</vxe-form-item>
</vxe-form>
</div>
</template>
<script>
export default {
data() {
return {
formData: {
name: '',
nickname: '',
sex: '',
role: ''
}
}
},
methods: {
submitEvent () {
VxeUI.modal.message({ content: '保存成功', status: 'success' })
}
}
}
</script>
Thank you to everyone who contributed to this project.
MIT © 2019-present, Xu Liangzhan