0.2.2 • Published 3 years ago
@forzoom/item-form v0.2.2
说明
本库一般配合@forzoom/form-renderer
使用,也可以单独使用,其中包含了一些表单会使用到的Vue组件。
例子
// 全局注册组件
import { ItemInput, ItemSelect, ItemCascader, ItemButtonGroup, ItemUploader, ItemTextarea, ItemList, ItemMultiUploader } from '@forzoom/item-form';
const list = [
ItemInput,
ItemSelect,
ItemCascader,
ItemButtonGroup,
ItemUploader,
ItemTextarea,
ItemList,
ItemMultiUploader;
];
for (const component of list) {
Vue.component(component.name, component);
}
// page.vue
import { Component, Vue, Watch } from 'vue-property-decorator';
import { Renderer } from '@forzoom/form-renderer';
import { FormPageMeta } from '@forzoom/form-renderer/types/form';
import { ItemFormSectionMeta } from '@forzoom/item-form/types/form';
@Component
export default class Page extends Vue {
/** meta用于传入Renderer中 */
public get meta(): Array<FormPageMeta<ItemFormSectionMeta>> {
const sections: ItemFormSectionMeta[] = [
{
type: 'ItemUploader',
key: 'avatar',
props: {
title: '头像',
httpRequest: async (image) => {
const rdata = await store.dispatch('uploadMedia', {
mediaId: image.key,
type: 'avatar',
});
return rdata.data;
},
},
validates: [
{ trigger: 'validate', required: true, message: '请上传头像' },
],
},
];
return sections;
}
/**
* 点击提交
*/
public async onClickSubmit() {
// 当使用了ItemUploader、ItemMultiUploader组件时,在提交代码之前应该调用FormRenderer的beforeSubmit函数,以确保Uploader完成上传逻辑
const renderer = this.$refs.form as FormRendererComponent;
await renderer.beforeSubmit();
}
}
Todo
- uploader支持普通网页上传
- 修改为使用自带Uploader
0.3.0-rc4
3 years ago
0.3.0-rc2
3 years ago
0.3.0-rc1
3 years ago
0.3.0-rc0
3 years ago
0.2.2
3 years ago
0.2.1
3 years ago
0.2.0
3 years ago
0.1.2
3 years ago
0.1.1
3 years ago
0.1.0
3 years ago
0.0.8
4 years ago
0.0.7
4 years ago
0.0.5
4 years ago
0.0.6
4 years ago
0.0.4
4 years ago
0.0.3
4 years ago
0.0.2
4 years ago
0.0.1
4 years ago