vue3+elementplus使用记录
【vue3+elementplus使用记录】由于elementplus部分只给了Options API
的写法,故再此记录使用Composition API
写过的组件的方法。
form表单相关
现在想要获取ref需要进行一下操作
import { ref } from 'vue'
setup () {
// 第一步定义ref, 名称与html中的ref="yourRef"一致,并return出去
const yourRef = ref()
// 然后就可以和vue2中的ref一样使用了
// 提交表单
const saveOneBlog = () => {
console.log('listen formRef', formRef)
formRef.value.validate(async (valid) => {
if (valid) {
const res = await api(params)
console.log(res)
}
})
}
// 重置表单
const reset = () => {
yourRef.value.resetFields()
}
return {
yourRef
}
}
表单部分代码
html
部分
{{ form.createTime }}
{{ form.lastUpdateTime }}
reset
Save and add aother
Save
script
部分setup () {
// form dom
const formRef = ref()
// form data
const formData = https://www.it610.com/article/reactive({
form: {
blogTitle:'',
blogTypeId: '',
blogContent: '',
isShow: true,
createTime: '',
lastUpdateTime: ''
},
blogTypeList: [],
rules: {
blogTitle: [{ required: true, message: '请输入博客名称', trigger: 'blur' }],
blogTypeId: [{ required: true, message: '请选择博客类型', trigger: 'change' }],
blogContent: [{ required: true, message: '请输入博客内容', trigger: 'blur' }]
}
})// submit form data
const saveOneBlog = () => {
console.log('listen formRef', formRef)
formRef.value.validate(async (valid: any) => {
if (valid) {
const params = {
blogTitle: formData.form.blogTitle,
blogTypeId: formData.form.blogTypeId,
blogContent: formData.form.blogContent
}
const res = await addOneBlogApi(params)
if (res.code === 0) {
ElMessage.success('添加成功')
} else {
ElMessage.error(res.message)
}
}
})
}
// reset form
const resetForm = () => {
formRef.value.resetFields()
}
const tempData = https://www.it610.com/article/reactive({
isEdit: false
})
onMounted(async () => {
const res = await getBlogTypeDictApi()
if (res.code === 0) {
formData.blogTypeList = res.data
}
})return {
...toRefs(formData),
...toRefs(tempData),
saveOneBlog,
resetForm,
formRef
}
}
推荐阅读
- 20170612时间和注意力开销记录
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用