diff --git a/CONFIG.md b/CONFIG.md index 2d8eaad..fc2166a 100755 --- a/CONFIG.md +++ b/CONFIG.md @@ -203,6 +203,55 @@ this.$ncformValidate('demoForm').then(data => { }) ``` +- $ncformAddWidget({name, widget}) + +Add your custom form control + +``` +// Demo code: +this.$ncformAddWidget({name: 'sayHi', widget: { + mixins: [ncformCommon.mixins.vue.controlMixin], + template: '
hi {{modelVal}}
', + props: { + value: { + type: [String] + }, + }, +}}); +``` + +- $ncformAddRule({name, rule}) + +Add your custom validation rule + +``` +// Demo code: +class MyCustomRule extends ncformCommon.ValidationRule { + + constructor(props) { + super(props); + this.name = 'myCustom'; + this.defaultErrMsg = 'yeah, show my custom rule message'; + } + + validateLogic(val, ruleVal) { + this.errMsg = "must fill in 'daniel'" + return val === 'daniel'; + } +} + +this.$ncformAddRule({name: 'myCustom', rule: MyCustomRule}); +``` + +- $ncformSetLang(lang) + +Switch language + +``` +// Demo code: +this.$ncformSetLang('en'); +``` + ## ncform event - submit diff --git a/CONFIG_CN.md b/CONFIG_CN.md index d5a3b32..ce3fdc5 100644 --- a/CONFIG_CN.md +++ b/CONFIG_CN.md @@ -203,6 +203,55 @@ this.$ncformValidate('demoForm').then(data => { }) ``` +- $ncformAddWidget({name, widget}) + +增加自定义表单控件 + +``` +// Demo code: +this.$ncformAddWidget({name: 'sayHi', widget: { + mixins: [ncformCommon.mixins.vue.controlMixin], + template: '
hi {{modelVal}}
', + props: { + value: { + type: [String] + }, + }, +}}); +``` + +- $ncformAddRule({name, rule}) + +增加自定义验证规则 + +``` +// Demo code: +class MyCustomRule extends ncformCommon.ValidationRule { + + constructor(props) { + super(props); + this.name = 'myCustom'; + this.defaultErrMsg = 'yeah, show my custom rule message'; + } + + validateLogic(val, ruleVal) { + this.errMsg = "must fill in 'daniel'" + return val === 'daniel'; + } +} + +this.$ncformAddRule({name: 'myCustom', rule: MyCustomRule}); +``` + +- $ncformSetLang(lang) + +切换语言 + +``` +// Demo code: +this.$ncformSetLang('en'); +``` + ## ncform event - submit diff --git a/EXT-DOC.md b/EXT-DOC.md index 83957ae..3ec74a7 100755 --- a/EXT-DOC.md +++ b/EXT-DOC.md @@ -38,6 +38,10 @@ export MyCustomRule; 3.Register rule ``` Vue.use(vueNcform, { extRules: [{myCustom: MyCustomRule}] }); + +or + +vm.$ncformAddRule({name: 'myCustom', rule: MyCustomRule}); ``` 4.Use it @@ -61,7 +65,8 @@ npm i @ncform/ncform-common --save @@ -44,6 +44,25 @@ const controlMixin = ncformCommon.mixins.vue.controlMixin; export default { mixins: [controlMixin], + i18nData: { + en: { + chYear: 'Choose Year', + chMonth: 'Choose Month', + chDate: 'Choose Date', + chWeek: 'Choose Week', + chTime: 'Choose Datetime', + weekFormat: 'Week WW of yyyy' + }, + zh_cn: { + chYear: '选择年份', + chMonth: '选择月份', + chDate: '选择日期', + chWeek: '选择周', + chTime: '选择时间', + weekFormat: 'yyyy年 第WW周' + } + }, + props: { value: { type: String, @@ -70,23 +89,23 @@ export default { typeOptions: { year: { format: '', - placeholder: '选择年', + placeholder: 'chYear', }, month: { format: '', - placeholder: '选择月', + placeholder: 'chMonth', }, date: { format: '', - placeholder: '选择日期', + placeholder: 'chDate', }, week: { - format: 'yyyy年 第WW周', - placeholder: '选择周', + format: 'weekFormat', + placeholder: 'chWeek', }, datetime:{ format: '', - placeholder: '选择时间', + placeholder: 'chTime', } }, // 组件特有的配置属性 diff --git a/packages/ncform-theme-elementui/src/components/control-comps/input.vue b/packages/ncform-theme-elementui/src/components/control-comps/input.vue index 5c7c163..f23f3c3 100755 --- a/packages/ncform-theme-elementui/src/components/control-comps/input.vue +++ b/packages/ncform-theme-elementui/src/components/control-comps/input.vue @@ -10,18 +10,18 @@ - + - + @@ -42,11 +42,11 @@ - + - + @@ -84,6 +84,19 @@ const controlMixin = ncformCommon.mixins.vue.controlMixin; export default { mixins: [controlMixin], + i18nData: { + en: { + selectPls: 'Select Please', + uploading: 'Uploading...', + upload: 'Upload' + }, + zh_cn: { + selectPls: '请选择', + uploading: '上传中...', + upload: '点击上传' + } + }, + props: { value: { type: [String, Number, Object] @@ -260,7 +273,7 @@ export default { minSize: 0 // 最小图片大小,单位KB,0代表不限 }, resField: "", // 获取返回结果的字段, - uploadText: "点击上传" // 上传按钮的名称 + uploadText: "" // 上传按钮的名称 } } }; diff --git a/packages/ncform-theme-elementui/src/components/control-comps/label.vue b/packages/ncform-theme-elementui/src/components/control-comps/label.vue index 62f62d4..840ec76 100755 --- a/packages/ncform-theme-elementui/src/components/control-comps/label.vue +++ b/packages/ncform-theme-elementui/src/components/control-comps/label.vue @@ -1,16 +1,8 @@