开源 FormCreate 表单设计器配置组件的多语言

form-create-designer 是一款开源的低代码表单设计器,通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。

源码地址: Github | Gitee | 文档 | 官网 | 在线演示

定义拖拽规则

在设计表单组件时,可以使用 languageKey 来声明组件的多语言 ID。这使得在组件插入表单时,能够自动管理和匹配对应的多语言配置。

ts 复制代码
const dragRule = {
    type: 'upload2',
    languageKey: ['clickUpload']
    //...
}

组件中使用

在组件实现中,通过 formCreateInject.t 方法可以从多语言配置中读取和显示对应文本。这种方式能够确保文本自动根据语言环境显示相应内容。

vue 复制代码
<template>
    <button>{{formCreateInject.t('clickUpload') || '点击上传'}}</button>
</template>

<script>
    export default {
        props: {
            formCreateInject: Object
        }
    }
</script>

在上述代码中,formCreateInject.t('clickUpload') 将获取并显示"clickUpload" ID 对应的多语言字符串。

数据结构

ts 复制代码
typeof t = (id: string, params?: Object) => string | undefined;
  • 可以使用{param}这种大括号的方式在多语言字符中引入变量。

  • params对象中的值将自动替换多语言字符串中的变量占位符。

示例:传递参数到多语言字符串

假设您有以下的多语言配置和实现:

多语言配置:

json 复制代码
{
  "welcomeMessage": "Welcome, {name}!"
}

使用代码:

vue 复制代码
<template>
    <div>{{formCreateInject.t('welcomeMessage', { name: 'John' })}}</div>
</template>

将生成:

复制代码
Welcome, John!

通过对多语言功能的有效利用,您可以显著提升组件的国际化能力,而不妨碍开发的灵活性。希望这份指南能够帮助您更好地配置和实现多语言支持,使应用更具国际吸引力。

相关推荐
我是小路路呀11 小时前
element级联选择器:已选中一个二级节点,随后又点击了一个一级节点(仅浏览,未确认选择),此时下拉框失去焦点并关闭
javascript·vue.js·elementui
程序员爱钓鱼11 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder12 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL12 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码12 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_12 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy13 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌13 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
sg_knight13 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm