跳转到内容
返回首页
返回博客
Tutorial

可视化设计器:无需写代码即可创建 UI

了解如何使用 PocketCode 的拖放式可视化设计器来构建用户界面,并导出干净的 React、Vue、Svelte 或 HTML/CSS 代码。

4 min
作者 PocketCode Team
可视化设计器:无需写代码即可创建 UI

可视化设计器:通过拖放构建界面

可视化设计器是 PocketCode 中最强大的功能之一。它让你以可视化的 方式创建用户界面,并自动生成干净、可用于生产的代码

为什么要用可视化设计器?

在手机屏幕上设计 UI 可能很有挑战性。在小屏幕上手动编写布局代码既慢又容易出错。 可视化设计器用一个直观的拖放界面解决了这个问题。

优势

  • 速度: 用几分钟完成设计,而不是几小时
  • 可视化: 实时看到结果
  • 干净的代码: 生成遵循最佳实践的代码
  • 多目标: React、Vue、Svelte、HTML/CSS 和 SVG

开始使用

打开设计器

  1. 在任意项目中,点击标签栏里的 Design 图标
  2. 选择导出目标(React、Vue、Svelte、HTML/CSS)
  3. 从空白画布开始,或选择一个模板

基本界面

设计器分为几部分:

  • 组件面板(左侧)—— 可拖动的元素
  • 画布(中间)—— 你的设计区域
  • 属性(右侧)—— 自定义选中的元素

可用组件

组件面板涵盖35 种组件类型。以下是部分选择:

布局(Layout)

组件描述
Container灵活的容器
Row水平排列的元素
Column垂直排列的元素
GridCSS Grid 布局
Scroll可滚动的区域

输入(Input)

组件描述
Button带多种变体的按钮
TextInput文本输入框
Toggle开/关切换
Slider数值选择器
Dropdown下拉菜单
Checkbox复选框
RadioGroup单选选项

展示(Display)

组件描述
Text带样式的文本
Image图片/图标
Card信息卡片
List动态列表
Badge通知徽章
Divider视觉分隔线

导航(Navigation)

组件描述
NavBar顶部导航栏
TabBar标签页导航
BottomNav底部导航
Breadcrumb层级导航

实战教程:登录界面

让我们一步步创建一个完整的登录界面:

第 1 步:基本结构

把一个 Column 拖到画布上并配置:

  • 对齐方式:居中
  • 内边距:24px
  • 背景:#0a0a0a

在这个 column 内部,拖入一个 Image

  • 尺寸:120x120
  • 圆角:full(圆形)
  • 下外边距:32px

第 3 步:文本输入框

添加两个 TextInput 组件:

Email:

  • 占位符:"Email"
  • 类型:email
  • 图标:mail
  • 宽度:100%

Password:

  • 占位符:"Password"
  • 类型:password
  • 图标:lock
  • 宽度:100%

第 4 步:登录按钮

拖入一个 Button

  • 文本:"Log In"
  • 变体:primary
  • 宽度:100%
  • 圆角:12px

第 5 步:额外链接

添加 Text 组件用于:

  • "Forgot your password?"(链接样式)
  • "Don't have an account? Sign up"(暗淡文本 + 链接)

生成的代码

设计器会自动生成干净的代码:

// React 输出
export function LoginScreen() {
	const [email, setEmail] = useState("");
	const [password, setPassword] = useState("");

	return (
		<div className="flex flex-col items-center justify-center min-h-screen bg-neutral-950 p-6">
			<img src="/logo.png" alt="Logo" className="w-30 h-30 rounded-full mb-8" />

			<input
				type="email"
				placeholder="Email"
				value={email}
				onChange={(e) => setEmail(e.target.value)}
				className="w-full p-3 mb-4 bg-neutral-900 rounded-xl
                   border border-neutral-800 text-white"
			/>

			<input
				type="password"
				placeholder="Password"
				value={password}
				onChange={(e) => setPassword(e.target.value)}
				className="w-full p-3 mb-6 bg-neutral-900 rounded-xl
                   border border-neutral-800 text-white"
			/>

			<button
				className="w-full p-3 bg-blue-600 rounded-xl
                          text-white font-semibold hover:bg-blue-700"
			>
				Log In
			</button>

			<p className="mt-4 text-neutral-500 text-sm">
				Don't have an account? <span className="text-blue-400">Sign up</span>
			</p>
		</div>
	);
}
<!-- Vue 输出 -->
<script setup>
import { ref } from "vue";
const email = ref("");
const password = ref("");
</script>

<template>
  <div class="flex flex-col items-center justify-center min-h-screen bg-neutral-950 p-6">
    <img src="/logo.png" alt="Logo" class="w-30 h-30 rounded-full mb-8" />
    <input
      v-model="email"
      type="email"
      placeholder="Email"
      class="w-full p-3 mb-4 bg-neutral-900 rounded-xl border border-neutral-800 text-white"
    />
    <input
      v-model="password"
      type="password"
      placeholder="Password"
      class="w-full p-3 mb-6 bg-neutral-900 rounded-xl border border-neutral-800 text-white"
    />
    <button
      class="w-full p-3 bg-blue-600 rounded-xl text-white font-semibold hover:bg-blue-700"
    >
      Log In
    </button>
    <p class="mt-4 text-neutral-500 text-sm">
      Don't have an account? <span class="text-blue-400">Sign up</span>
    </p>
  </div>
</template>

高级功能

响应式设计

设计器会自动处理响应式:

  • 自动布局: 元素会适应屏幕尺寸
  • 断点: 为手机/平板定义不同的排列方式
  • 相对单位: 使用 %remflex 而不是固定像素

交互状态

设计器捕捉的是视觉状态,而不是行为——它输出的是静态的 HTML/CSS,因此没有事件接线 或导航。你能为每个组件设置的内容有:

  1. 选中一个组件(例如一个 Button)
  2. 独立设置它的 hover、active、focus 和 disabled 状态的样式
  3. 对于链接,设置其 href 目标

真正的行为(点击处理函数、路由、数据)会在之后的代码中添加,也就是在设计器导出的 HTML/CSS/React/Vue/Svelte 上添加。

可复用的模板

把你的设计保存为模板:

  • 自定义组件: 把组合保存为单个组件
  • 设计系统: 定义颜色、排版和间距
  • 界面模板: 与团队共享完整布局

手势支持

设计器专为触控交互而设计:

  • 在画布上双指缩放
  • 双击以选中嵌套元素
  • 长按打开上下文菜单
  • 滑动在面板之间移动

导出目标

设计器生成真实、可编辑的代码——全部基于 web:

目标输出
React / JSX带 hooks 的组件
Vue单文件组件
Svelte.svelte 组件
HTML + CSS干净、无框架依赖的标记
SVG画布的矢量导出

技巧与最佳实践

  1. 从结构入手: 先放置容器,再放内容
  2. 使用自动布局: 尽可能避免固定尺寸
  3. 为组件命名: 生成更易读的代码
  4. 经常预览: 在不同屏幕尺寸上检查
  5. 增量导出: 不要等到最后才检查代码

可视化设计器让你在同一台设备上既能设计又能编程——勾勒一个界面,导出干净的 React、Vue、Svelte 或 HTML/CSS,然后就地继续构建。今天就试试,加速你的开发!

本文背后的工具

设计器

准备好试用 PocketCode 了吗?

下载应用,开始用手机编程。