Skip to content

Conversation

holyfata
Copy link
Contributor

@holyfata holyfata commented Aug 1, 2025

这个 PR 做了什么? (简要描述所做更改)
Taro的Input支持readonly属性
jd-opensource/nutui#3276
#18098

这个 PR 是什么类型? (至少选择一个)

  • 错误修复 (Bugfix) issue: fix #
  • 新功能 (Feature)
  • 代码重构 (Refactor)
  • TypeScript 类型定义修改 (Types)
  • 文档修改 (Docs)
  • 代码风格更新 (Code style update)
  • 构建优化 (Chore)
  • 其他,请描述 (Other, please describe):

这个 PR 涉及以下平台:

  • 所有平台
  • Web 端(H5)
  • 移动端(React-Native)
  • 鸿蒙(Harmony)
  • 鸿蒙容器(Harmony Hybrid)
  • ASCF 元服务
  • 快应用(QuickApp)
  • 所有小程序
  • 微信小程序
  • 企业微信小程序
  • 京东小程序
  • 百度小程序
  • 支付宝小程序
  • 支付宝 IOT 小程序
  • 钉钉小程序
  • QQ 小程序
  • 飞书小程序
  • 快手小程序
  • 头条小程序

Summary by CodeRabbit

  • 新功能
    • Input 组件新增 readonly 属性,支持只读模式。
    • 示例项目 input-readonly-taro4 新增,支持多平台开发与配置。
  • 文档
    • Input 组件文档补充了 readonly 属性说明。
  • 测试
    • 增加了 Input 组件 readonly 属性的相关测试用例。
  • 项目配置
    • 新增多项配置文件(如 TypeScript、ESLint、Stylelint、环境变量等)完善开发环境。

Copy link

coderabbitai bot commented Aug 1, 2025

Walkthrough

本次变更主要为 Taro 组件库的 Input 组件新增了 readonly 属性,并在相关文档、测试、类型定义和 mock 数据中进行了同步更新。同时,新增了一个基于 Taro 4 + Vue3 的示例项目 input-readonly-taro4,包含完整的工程配置、页面及类型声明文件。

Changes

Cohort / File(s) Change Summary
Input 组件功能与文档
packages/taro-components/src/components/input/input.tsx,
packages/taro-components/src/components/input/readme.md
新增 readonly 属性,默认值为 false,并在文档中补充了该属性的说明。
Input 组件测试与 mock
packages/taro-components/__tests__/input.spec.tsx,
packages/babel-plugin-transform-taroapi/__tests__/__mocks__/h5-definition.json
测试用例增加对 readonly 属性的校验,mock 数据中为 input 组件添加 readonly 字段。
Taro4 Vue3 示例项目配置
examples/input-readonly-taro4/*
新增完整 Taro4 + Vue3 示例项目,包含配置文件(如 tsconfig、babel、eslint、stylelint、husky、commitlint 等)、环境变量、项目配置、类型声明、页面与组件实现等。
示例项目页面与类型声明
examples/input-readonly-taro4/src/pages/index/index.vue,
examples/input-readonly-taro4/types/*
新增页面演示 readonly input 的用法,并补全了相关全局类型声明和 Vue 组件类型增强。

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant InputComponent
    participant NativeInput

    User->>InputComponent: 设置 readonly 属性
    InputComponent->>NativeInput: 渲染 input,传递 readonly 属性
    NativeInput-->>User: 展示只读输入框
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~15 分钟

Poem

兔子新添只读框,
代码整齐又漂亮。
测试 mock 齐上阵,
Vue3 示例好榜样。
配置声明全武装,
只读输入用得香!
( ˘ ³˘)♥

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (11)
examples/input-readonly-taro4/src/index.html (3)

2-2: 建议为 <html> 标签添加 lang 属性

缺少 lang 会影响可访问性与 SEO,可补充为 lang="zh-CN" 或实际使用语言。


4-4: 使用简洁的字符集声明写法

http-equiv="Content-Type" 的做法已较过时,可改为更简洁且被所有现代浏览器优先解析的写法:

-  <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+  <meta charset="utf-8">

12-12: 内联模板脚本需确保构建期安全替换

<%= htmlWebpackPlugin.options.script %> 会在构建时注入脚本字符串,需确认该值来源可控并在生产环境经过最小化 / 哈希命名处理,避免潜在 XSS 风险。同时可考虑添加 defer 以避免阻塞。

examples/input-readonly-taro4/.env.development (1)

1-2: 保持占位符,避免暴露真实 AppID

当前使用注释占位的形式非常安全,确认正式开发时也不要把实际的 TARO_APP_ID 值提交到仓库。若需在本地调试,可通过 .env.local 或私有 CI 变量注入,避免泄漏。

examples/input-readonly-taro4/.env.test (1)

1-1: 统一变量书写格式

为保持三套环境文件风格一致,可考虑去掉引号改为 KEY=value 的写法,或三者全部保持引号,避免后续脚本解析差异。

packages/taro-components/src/components/input/readme.md (1)

12-12: 修复表格格式问题

根据 markdownlint 提示,表格行缺少结尾的管道符。

-|              | placeholder-class | String      |        | 指定 placeholder 的样式类
+|              | placeholder-class | String      |        | 指定 placeholder 的样式类                          |
examples/input-readonly-taro4/types/vue.d.ts (1)

3-10: 扩展写法 OK,但最好显式覆写存在冲突的标签
目前仅通过 extends JSX.IntrinsicElements 合并,若后续真要覆写如注释所示的 scroll-view 等标签,建议直接在接口内补充声明,避免 TS 在同名属性上推断为 never 或出现歧义。

export interface GlobalComponents extends JSX.IntrinsicElements {
  'scroll-view': JSX.IntrinsicElements['scroll-view']
}

这样可提升 IDE 跳转及类型补全体验。

examples/input-readonly-taro4/tsconfig.json (1)

9-14: 考虑开启严格模式以提升类型安全
"noImplicitAny": false 会放宽隐式 any 的检查。在示例项目中启用 "noImplicitAny": true 或直接开启 "strict": true 可及早暴露潜在类型问题。若仅为演示可保留,但请评估风险。

-    "noImplicitAny": false,
+    "strict": true,
examples/input-readonly-taro4/config/prod.ts (1)

1-33: 配置占位无实际逻辑,可考虑删除或补充注释说明
mini: {} 与空的 h5 配置目前不会产生任何效果。如果只是占位,建议添加 TODO 说明,或在文档中指出为何保留空对象,防止后续维护者误解。

examples/input-readonly-taro4/package.json (1)

12-33: 缺少常规的 Lint / Test 脚本
项目已引入 eslint, stylelint, @commitlint 等依赖,但 scripts 中没有对应的 lintlint:styletest 等命令。建议补充,方便 CI 或开发者本地校验。

   "scripts": {
+    "lint": "eslint --ext .ts,.tsx,.vue src",
+    "lint:style": "stylelint \"src/**/*.{css,scss,sass}\"",
+    "test": "echo \"No test specified\""
   },
examples/input-readonly-taro4/config/index.ts (1)

7-35: 基础配置建议优化

配置整体结构合理,但有几个小建议:

  1. 日期格式建议使用标准格式(如 '2025-07-31')
  2. 对于示例项目,可以考虑启用缓存以提升构建性能
-    date: '2025-7-31',
+    date: '2025-07-31',
-    cache: {
-      enable: false // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
-    },
+    cache: {
+      enable: true // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
+    },
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a656510 and 0f74f69.

⛔ Files ignored due to path filters (2)
  • examples/input-readonly-taro4/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
  • packages/taro-components/__tests__/__snapshots__/input.spec.tsx.snap is excluded by !**/*.snap
📒 Files selected for processing (27)
  • examples/input-readonly-taro4/.editorconfig (1 hunks)
  • examples/input-readonly-taro4/.env.development (1 hunks)
  • examples/input-readonly-taro4/.env.production (1 hunks)
  • examples/input-readonly-taro4/.env.test (1 hunks)
  • examples/input-readonly-taro4/.eslintrc (1 hunks)
  • examples/input-readonly-taro4/.gitignore (1 hunks)
  • examples/input-readonly-taro4/.husky/commit-msg (1 hunks)
  • examples/input-readonly-taro4/babel.config.js (1 hunks)
  • examples/input-readonly-taro4/commitlint.config.mjs (1 hunks)
  • examples/input-readonly-taro4/config/dev.ts (1 hunks)
  • examples/input-readonly-taro4/config/index.ts (1 hunks)
  • examples/input-readonly-taro4/config/prod.ts (1 hunks)
  • examples/input-readonly-taro4/package.json (1 hunks)
  • examples/input-readonly-taro4/project.config.json (1 hunks)
  • examples/input-readonly-taro4/src/app.config.ts (1 hunks)
  • examples/input-readonly-taro4/src/app.ts (1 hunks)
  • examples/input-readonly-taro4/src/index.html (1 hunks)
  • examples/input-readonly-taro4/src/pages/index/index.config.ts (1 hunks)
  • examples/input-readonly-taro4/src/pages/index/index.vue (1 hunks)
  • examples/input-readonly-taro4/stylelint.config.mjs (1 hunks)
  • examples/input-readonly-taro4/tsconfig.json (1 hunks)
  • examples/input-readonly-taro4/types/global.d.ts (1 hunks)
  • examples/input-readonly-taro4/types/vue.d.ts (1 hunks)
  • packages/babel-plugin-transform-taroapi/__tests__/__mocks__/h5-definition.json (1 hunks)
  • packages/taro-components/__tests__/input.spec.tsx (2 hunks)
  • packages/taro-components/src/components/input/input.tsx (3 hunks)
  • packages/taro-components/src/components/input/readme.md (2 hunks)
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 在 taro-runtime 包的 tsdown 配置中,必须禁用 treeshake 来保留 dom-external/index.js 文件。...
Learnt from: ianzone
PR: NervJS/taro#17746
File: packages/taro-runtime/tsdown.config.ts:10-16
Timestamp: 2025-05-25T18:02:31.387Z
Learning: 在 taro-runtime 包的 tsdown 配置中,必须禁用 treeshake 来保留 dom-external/index.js 文件。

Applied to files:

  • examples/input-readonly-taro4/.env.development
  • examples/input-readonly-taro4/.env.production
  • examples/input-readonly-taro4/.env.test
  • examples/input-readonly-taro4/src/app.config.ts
  • examples/input-readonly-taro4/src/pages/index/index.config.ts
  • examples/input-readonly-taro4/config/dev.ts
  • examples/input-readonly-taro4/babel.config.js
  • examples/input-readonly-taro4/src/index.html
  • examples/input-readonly-taro4/tsconfig.json
  • examples/input-readonly-taro4/project.config.json
  • examples/input-readonly-taro4/config/prod.ts
  • examples/input-readonly-taro4/package.json
  • examples/input-readonly-taro4/config/index.ts
  • examples/input-readonly-taro4/types/global.d.ts
  • examples/input-readonly-taro4/.eslintrc
📚 Learning: 在使用 rollup-plugin-dts 的项目中,rollup.config.ts 等构建配置文件会被自动排除,不需要在 tsconfig.json 中手动排除。...
Learnt from: ianzone
PR: NervJS/taro#18056
File: packages/taro-runtime/tsconfig.json:10-10
Timestamp: 2025-07-22T09:16:21.180Z
Learning: 在使用 rollup-plugin-dts 的项目中,rollup.config.ts 等构建配置文件会被自动排除,不需要在 tsconfig.json 中手动排除。

Applied to files:

  • examples/input-readonly-taro4/tsconfig.json
  • examples/input-readonly-taro4/project.config.json
  • examples/input-readonly-taro4/config/prod.ts
  • examples/input-readonly-taro4/config/index.ts
📚 Learning: in nx 21, project.json targets don't necessarily require explicit "executor" and "options" fields li...
Learnt from: ianzone
PR: NervJS/taro#17842
File: packages/taro-components/project.json:4-8
Timestamp: 2025-06-21T21:23:03.650Z
Learning: In Nx 21, project.json targets don't necessarily require explicit "executor" and "options" fields like in earlier versions. A target can be defined with just "outputs" configuration, especially for custom build processes or when using implicit executors.

Applied to files:

  • examples/input-readonly-taro4/project.config.json
📚 Learning: 在 jest-helper 包中,src 目录下没有 __tests__ 测试目录,只包含 resolver.ts、sequencer.ts 和 snapshot 目录。不要假设包中存在测试目录结构。...
Learnt from: ianzone
PR: NervJS/taro#17842
File: packages/jest-helper/tsconfig.json:9-9
Timestamp: 2025-06-23T00:09:31.233Z
Learning: 在 jest-helper 包中,src 目录下没有 __tests__ 测试目录,只包含 resolver.ts、sequencer.ts 和 snapshot 目录。不要假设包中存在测试目录结构。

Applied to files:

  • examples/input-readonly-taro4/types/global.d.ts
🪛 markdownlint-cli2 (0.17.2)
packages/taro-components/src/components/input/readme.md

12-12: Table pipe style
Expected: leading_and_trailing; Actual: leading_only; Missing trailing pipe

(MD055, table-pipe-style)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Build Rust Binding / stable - x86_64-apple-darwin
  • GitHub Check: Build Rust Binding / stable - x86_64-pc-windows-msvc
  • GitHub Check: Build Rust Binding / stable - aarch64-apple-darwin
🔇 Additional comments (23)
examples/input-readonly-taro4/src/index.html (1)

9-9: apple-mobile-web-app-status-bar-style 的取值应为官方允许的枚举

官方仅支持 defaultblackblack-translucent 三个值,white 将被忽略。建议根据需求改为合法取值。

examples/input-readonly-taro4/.env.production (1)

1-1: 谨慎处理生产密钥

同样建议在生产环境用 CI/CD 注入真正的 TARO_APP_ID,并在仓库中只保留占位或注释,防止敏感信息泄露。

examples/input-readonly-taro4/src/pages/index/index.config.ts (1)

1-3: 确认已启用宏,否则需显式导入 definePageConfig

如果项目的 tsconfig 未开启 Taro 的宏定义("plugins": [{ "name": "@tarojs/plugin-macros" }]),TypeScript 可能无法识别 definePageConfig
如遇类型报错,可在文件顶部添加:

+import { definePageConfig } from '@tarojs/taro'
examples/input-readonly-taro4/commitlint.config.mjs (1)

1-1: LGTM:采用 conventional 提交规范

配置简单直接,能够满足基础提交规范校验。

examples/input-readonly-taro4/.eslintrc (1)

1-5: 配置正确,符合最佳实践。

ESLint 配置正确地扩展了 taro/vue3 规则集,注释也提供了有用的编辑器集成指导。这是一个标准的 Taro Vue3 项目配置。

examples/input-readonly-taro4/.gitignore (1)

1-8: 忽略文件配置完整且合适。

.gitignore 文件包含了 Taro 项目的所有必要忽略模式,包括构建输出、依赖项、临时文件和平台特定文件。

examples/input-readonly-taro4/.editorconfig (1)

1-12: 编辑器配置标准且合理。

EditorConfig 配置遵循了常见的代码格式约定,2 空格缩进适合 JavaScript/Vue 项目,对 Markdown 文件的特殊处理也是正确的。

examples/input-readonly-taro4/config/dev.ts (1)

1-10: 开发环境配置适当且类型安全。

Taro 开发配置正确使用了类型导入和 satisfies 关键字,日志配置适合开发环境,平台配置留空是合理的基础设置。

examples/input-readonly-taro4/stylelint.config.mjs (1)

1-4: 样式检查配置简洁且符合现代标准。

Stylelint 配置正确使用了 ESM 格式和 TypeScript 类型注解,扩展标准预设是大多数项目的合适选择。

examples/input-readonly-taro4/.husky/commit-msg (1)

1-4: 标准的 commitlint 钩子实现,看起来不错!

这个提交消息验证钩子遵循了标准的 Husky 和 commitlint 最佳实践,实现正确。

packages/babel-plugin-transform-taroapi/__tests__/__mocks__/h5-definition.json (1)

2208-2208: 正确添加了 readonly 属性定义

在 H5 平台的组件定义中正确添加了 readonly 布尔属性,与其他属性保持一致的格式。

examples/input-readonly-taro4/src/pages/index/index.vue (1)

1-20: 很好的示例组件,正确演示了 readonly 功能

这个 Vue 组件正确使用了新添加的 readonly 属性,代码结构清晰,符合 Vue 3 组合式 API 的最佳实践。

examples/input-readonly-taro4/babel.config.js (1)

1-11: 标准的 Taro Babel 配置,实现正确

配置正确设置了 Vue 3 框架、TypeScript 支持和 Webpack 5 编译器,符合 Taro 项目的最佳实践。注释中包含的文档链接也很有帮助。

packages/taro-components/__tests__/input.spec.tsx (1)

16-16: 测试实现正确

readonly 属性的测试用例实现得当,正确验证了属性传递和 DOM 渲染逻辑。

Also applies to: 29-29, 37-37

examples/input-readonly-taro4/src/app.ts (1)

1-16: 示例项目应用入口实现正确

这是一个标准的 Vue 3 + Taro 4 应用入口配置,实现规范且符合框架要求。

packages/taro-components/src/components/input/readme.md (1)

13-13: 文档更新正确

readonly 属性在 API 表格和自动生成的属性部分都得到了正确的文档化,类型和默认值设置准确。

Also applies to: 45-45

packages/taro-components/src/components/input/input.tsx (2)

43-43: readonly 属性声明正确

使用 Stencil @prop 装饰器正确声明了 readonly 属性,默认值设为 false 符合预期。


253-253: readonly 属性渲染逻辑正确

在 render 方法中正确解构 readonly 属性,并按照 HTML 标准将其条件性地设置为 'readonly' 字符串或 undefined,实现符合 Web 标准。

Also applies to: 270-270

examples/input-readonly-taro4/project.config.json (1)

1-16: 小程序配置文件设置合理

这是一个标准的微信小程序项目配置文件,设置适合示例项目使用,配置项合理。

examples/input-readonly-taro4/types/global.d.ts (1)

19-25: TARO_ENV 枚举与脚本不一致,请确认
脚本中存在 harmony-hybrid,而类型定义仅包含 'harmony'。若两者均有效,应同时在枚举里声明,避免类型与实际环境变量不符。

-    TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'qq' | 'jd' | 'harmony' | 'jdrn'
+    TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'qq' | 'jd' | 'harmony' | 'harmony-hybrid' | 'jdrn'
examples/input-readonly-taro4/config/index.ts (3)

1-6: 导入配置看起来正确

导入语句遵循了 Taro 项目的标准模式,包括正确引入了 defineConfig 辅助函数和 TypeScript 路径插件。配置文件结构清晰,符合最佳实践。


36-93: 平台配置实现良好

各平台的配置都遵循了 Taro 的最佳实践:

  • 小程序和 H5 平台都正确配置了 TsconfigPathsPlugin 支持 TypeScript 路径别名
  • CSS 模块配置在各平台保持一致
  • H5 平台的输出文件命名使用了合适的哈希策略
  • PostCSS 配置合理,H5 平台启用了 autoprefixer

96-102: 环境配置处理逻辑正确

环境配置的处理逻辑清晰合理:

  • 正确使用 NODE_ENV 环境变量区分开发和生产环境
  • 使用 merge 函数合并基础配置和环境特定配置
  • 默认使用生产配置是一个安全的选择

这种模式符合 Taro 项目的标准实践。

Comment on lines +1 to +11
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

缺少必要的导入语句

代码使用了 defineAppConfig 但未导入该函数,这会导致运行时错误。

添加必要的导入语句:

+import { defineAppConfig } from '@tarojs/taro'
+
 export default defineAppConfig({
   pages: [
     'pages/index/index'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
import { defineAppConfig } from '@tarojs/taro'
export default defineAppConfig({
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
}
})
🤖 Prompt for AI Agents
In examples/input-readonly-taro4/src/app.config.ts lines 1 to 11, the function
defineAppConfig is used but not imported, causing runtime errors. Fix this by
adding the appropriate import statement for defineAppConfig at the top of the
file, ensuring the function is properly imported from the relevant module before
usage.

@Single-Dancer Single-Dancer merged commit 650d4ce into NervJS:main Aug 1, 2025
47 checks passed
@Single-Dancer Single-Dancer added this to the 4.1.5 milestone Aug 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants