diff --git a/packages/ui-vue/components/button-edit/src/button-edit.props.ts b/packages/ui-vue/components/button-edit/src/button-edit.props.ts index c2fc8e1c6522c6a9098b4e800c94d6132f6f2890..ef9298d8a87ca4f1d468846be45bf3b2cc2ec6ad 100644 --- a/packages/ui-vue/components/button-edit/src/button-edit.props.ts +++ b/packages/ui-vue/components/button-edit/src/button-edit.props.ts @@ -92,7 +92,7 @@ export const buttonEditProps = { /** * 输入框最大长度 */ - maxLength: Number, + maxLength: {type: Number}, /** * 输入框Tab键索引 */ diff --git a/packages/ui-vue/components/language-textbox/src/components/language-contents.component.tsx b/packages/ui-vue/components/language-textbox/src/components/language-contents.component.tsx index 3ccc3a7341adc692372def17969bfc3fca1606db..7ed67effd6fefe56d861b0a860a1ccc35d66b681 100644 --- a/packages/ui-vue/components/language-textbox/src/components/language-contents.component.tsx +++ b/packages/ui-vue/components/language-textbox/src/components/language-contents.component.tsx @@ -7,7 +7,8 @@ export default defineComponent({ props: { languages: { type: Array, default: [] }, modelValue: { type: Object, default: null }, - id: { type: String, default: '' } + id: { type: String, default: '' }, + maxLength: { type: Number, default: undefined } }, emits: ['update:modelValue'], setup(props, context) { @@ -39,6 +40,7 @@ export default defineComponent({ data.value[item.code] = value; context.emit('update:modelValue', data.value); }} + maxLength={props.maxLength} > diff --git a/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx b/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx index 19e70f351d988701591958f12195bee173ce2b9a..ca6de572986591959ffe9226b37150d4373020e8 100644 --- a/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx +++ b/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx @@ -84,6 +84,14 @@ export default defineComponent({ return true; }; + const onClear = () => { + modelValue.value = modelValue.value || {}; + if (modelValue.value[currentLang.value]) { + modelValue.value[currentLang.value] = ''; + context.emit('update:modelValue', modelValue.value); + } + }; + return () => { return - {showPopover.value && } + maxLength={props.maxLength} + beforeOpen={onBeforeOpen} + onClear={onClear}> + {showPopover.value && } ; } } diff --git a/packages/ui-vue/components/language-textbox/src/language-textbox.props.ts b/packages/ui-vue/components/language-textbox/src/language-textbox.props.ts index 8956485b9715a92ec5a47d634e362f3429e73b6e..8c3e3c4ab24e7f189a8b12d953745145c350cb0c 100644 --- a/packages/ui-vue/components/language-textbox/src/language-textbox.props.ts +++ b/packages/ui-vue/components/language-textbox/src/language-textbox.props.ts @@ -17,7 +17,8 @@ export const languageTextBoxProps = { modelValue: { type: Object as PropType, default: null }, dropDownIcon: { type: String, default: '' }, tabIndex: { type: Number, default: -1 }, - enableTitle: {type: Boolean, default: true } + enableTitle: {type: Boolean, default: true }, + maxLength: { type: Number, default: null } }; export type LanguageTextBoxProps = ExtractPropTypes; diff --git a/packages/ui-vue/components/language-textbox/src/property-config/language-textbox.property-config.ts b/packages/ui-vue/components/language-textbox/src/property-config/language-textbox.property-config.ts index 9e9ebbbc02e975107e6f9836382a89b8eae091c0..b635a8745edd095e355fad33772d0c859f48d110 100644 --- a/packages/ui-vue/components/language-textbox/src/property-config/language-textbox.property-config.ts +++ b/packages/ui-vue/components/language-textbox/src/property-config/language-textbox.property-config.ts @@ -4,4 +4,20 @@ export class LanuageTextBoxPropertyConfig extends InputBaseProperty { constructor(componentId: string, designerHostService: any) { super(componentId, designerHostService); } + + getEditorProperties(propertyData: any) { + return this.getComponentConfig(propertyData, { type: "language-textbox" }, { + maxLength: { + description: "文本字数最大长度", + title: "最大长度", + type: "number", + editor: { + nullable: true, + min: 0, + useThousands: false, + max: propertyData.editor.maxLength + } + }, + }); + } } diff --git a/packages/ui-vue/components/lookup/src/components/modal-container.component.tsx b/packages/ui-vue/components/lookup/src/components/modal-container.component.tsx index dac66286e5e6133814c248a13e833f2f57701cf2..f13766ef2134b810967fe3416fa127a23dccb16d 100644 --- a/packages/ui-vue/components/lookup/src/components/modal-container.component.tsx +++ b/packages/ui-vue/components/lookup/src/components/modal-container.component.tsx @@ -190,7 +190,7 @@ export default defineComponent({ {showIncludeChildNodes.value && } {props.showSelectedList && } - {props.showCascadeControl && } + {props.showCascadeControl && activeTab.value === LookupTabs.dataList && } diff --git a/packages/ui-vue/components/lookup/src/locales/ui/en.json b/packages/ui-vue/components/lookup/src/locales/ui/en.json index f63993a7fb9821a3dd3344c65be1684d9c7c7165..5d103c601dce9620811e91e63ace362ef1bde4ec 100644 --- a/packages/ui-vue/components/lookup/src/locales/ui/en.json +++ b/packages/ui-vue/components/lookup/src/locales/ui/en.json @@ -8,7 +8,7 @@ "allColumns": "All Columns", "datalist": "Data Items", "mustWriteSomething": "Please enter a keyword to search.", - "mustChoosAdatarow": "Please select a record!", + "mustChoosAdatarow": "Please select a record.", "tipText": "Are these what you are looking for?", "cascade": { "enable": "Bidirectional Cascading", diff --git a/packages/ui-vue/components/lookup/src/property-config/converters/lookup-property.converter.ts b/packages/ui-vue/components/lookup/src/property-config/converters/lookup-property.converter.ts index 1d29c3048674ab4b52da6d149c97e75599a73db0..85ecec64b4e6c2e355f0236450ff243450bc06d9 100644 --- a/packages/ui-vue/components/lookup/src/property-config/converters/lookup-property.converter.ts +++ b/packages/ui-vue/components/lookup/src/property-config/converters/lookup-property.converter.ts @@ -44,9 +44,19 @@ export const lookupDefaultConverter = { schema.editor['enableCascade'] = false; } - if(propertyKey === 'openType' && propertyValue === 'Popup') { - schema.editor['showSelections'] = false; - schema.editor['enableCascade'] = false; + if(propertyKey === 'openType') { + if (propertyValue === 'Popup') { + schema.editor['showSelections'] = false; + schema.editor['enableCascade'] = false; + } else { + const { width } = schema.editor.dialog; + const { displayType } = schema.editor; + if (displayType && displayType.toUpperCase().indexOf('NAV') > -1) { + if(!width || width < 520) { + schema.editor.dialog.width = 520; + } + } + } } } };