Skip to main content
Glama

element_setData

Update rendering data for custom components in WeChat Mini Programs using ID selectors to modify component state and trigger UI updates.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionNo
selectorYes
innerSelectorNo
dataYes

Implementation Reference

  • Full definition of the element_setData tool, including name, description, parameters schema reference, and execute handler that resolves the element and calls setData on it.
    function createSetElementDataTool(manager: WeappAutomatorManager): AnyTool { 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 defining the input parameters for the element_setData tool: selector, optional innerSelector, and data object, extending connectionContainerSchema.
    const setElementDataParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), data: z.record(z.unknown()), });
  • createElementTools function registers the element_setData tool (via createSetElementDataTool) among other element 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)
    createTools aggregates tools from element tools (including element_setData) and others.
    export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }
  • src/index.ts:17-17 (registration)
    Final registration of all tools, including element_setData, to the FastMCP server instance.
    server.addTools(createTools(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