Skip to main content
Glama

element_setData

Update rendering data for custom components in WeChat Mini Programs using selector targeting to modify component states during development.

Instructions

设置组件实例渲染数据,仅自定义组件可以使用。需要 automator 0.6.0 和基础库 2.9.0 及以上版本。使用 ID 选择器(如 #my-component)定位自定义组件。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionNo
selectorYes
innerSelectorNo
dataYes

Implementation Reference

  • Full tool object returned by createSetElementDataTool, including the execute handler that resolves the element using resolveElement, calls element.setData with the provided data, computes updated data keys, and returns a textual confirmation.
    return { name: "element_setData", description: "设置组件实例渲染数据,仅自定义组件可以使用。需要 automator 0.6.0 和基础库 2.9.0 及以上版本。使用 ID 选择器(如 #my-component)定位自定义组件。", parameters: setElementDataParameters, execute: async (rawArgs, context: ToolContext) => { const args = setElementDataParameters.parse(rawArgs ?? {}); return manager.withPage( context.log, { overrides: args.connection }, async (page) => { const element = await resolveElement( page, args.selector, args.innerSelector ); await element.setData(args.data); const dataKeys = Object.keys(args.data ?? {}); return toTextResult( `已更新组件数据键: ${dataKeys.length ? dataKeys.join(", ") : "(无)"}。` ); } ); }, };
  • Zod schema for tool parameters: connection container, selector (required string), optional innerSelector (string), and data (record of unknown).
    const setElementDataParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), data: z.record(z.unknown()), });
  • The createElementTools function registers the element_setData tool by including createSetElementDataTool(manager) in its returned array of tools.
    export function createElementTools( manager: WeappAutomatorManager ): AnyTool[] { return [ createTapElementTool(manager), createInputTextTool(manager), createCallElementMethodTool(manager), createGetElementDataTool(manager), createSetElementDataTool(manager), createGetInnerElementTool(manager), createGetInnerElementsTool(manager), createGetElementSizeTool(manager), createGetElementWxmlTool(manager), ];
  • src/tools.ts:7-13 (registration)
    Top-level createTools function registers all tools, including element tools (thus element_setData) by spreading createElementTools(manager).
    export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yfmeii/weapp-dev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server