【需求】面板小程序支持监听Native页面中家庭成员添加/修改(基本信息或角色)/删除事件

小程序开发相关产品技术讨论,包括面板、智能小程序、React Native、Ray跨端框架、Panel SDK、微信小程序、小程序开发工具(IDE)及其他开发技术相关等话题


Post Reply
doomty
Posts: 15

【需求背景】当家庭成员有新增/修改(名称或角色)/删除时,同步刷新面板成员列表数据

由于以下原因,面板无法实现上述需求
【新增/修改(名称或角色)/删除】
1、这些操作是在native页面进行的,面板没法知晓用户具体进行了什么操作,
2、这些操作也可能是在另外一部手机上操作
3、假定前2点都可以解决,那么操作完以后,云端数据更新可能会存在延迟,面板重新查询不一定能拿到最新的值


Tags:
muhai
Posts: 115

Re: 【需求】面板小程序支持监听Native页面中家庭成员添加/修改(基本信息或角色)/删除事件

目前没有开放这样的能力,这个需要提工单支持一下,我们会尽快跟进支持

doomty
Posts: 15

Re: 【需求】面板小程序支持监听Native页面中家庭成员添加/修改(基本信息或角色)/删除事件

muhai 2025年 Apr 2日 19:01

目前没有开放这样的能力,这个需要提工单支持一下,我们会尽快跟进支持

工单提过了,告知不支持才来这里发帖的 ID: T202504020708

muhai
Posts: 115

Re: 【需求】面板小程序支持监听Native页面中家庭成员添加/修改(基本信息或角色)/删除事件

如果只是需要返回当前页面,让当前页面刷新的方法,可以试试 usePageEvent

Code: Select all

import { usePageEvent } from '@ray-js/ray';
import { useRef } from 'react';

/**
 * 在页面第二次 onShow 的时候才会触发,用于一些首次不需要执行的逻辑情况,比如从 App 页面返回
 */
export function usePageReShow(fn: (...arg: any) => any) {
  const isMounted = useRef(false);
  usePageEvent('onShow', () => {
    if (isMounted.current) fn();
    isMounted.current = true;
  });
}

代码示例:https://github.com/Tuya-Community/tuya- ... Show.ts#L7

doomty
Posts: 15

Re: 【需求】面板小程序支持监听Native页面中家庭成员添加/修改(基本信息或角色)/删除事件

muhai 2025年 Apr 7日 09:48

如果只是需要返回当前页面,让当前页面刷新的方法,可以试试 usePageEvent

Code: Select all

import { usePageEvent } from '@ray-js/ray';
import { useRef } from 'react';

/**
 * 在页面第二次 onShow 的时候才会触发,用于一些首次不需要执行的逻辑情况,比如从 App 页面返回
 */
export function usePageReShow(fn: (...arg: any) => any) {
  const isMounted = useRef(false);
  usePageEvent('onShow', () => {
    if (isMounted.current) fn();
    isMounted.current = true;
  });
}

代码示例:https://github.com/Tuya-Community/tuya- ... Show.ts#L7

1、这个返回刷新还是没法解决网络延迟的问题(刷新的数据不一定是最新的)
2、目前小程序也没提供跳转到Native成员添加/编辑的页面(之前提过相关需求)

Last edited by doomty on 2025年 Apr 7日 10:51, edited 1 time in total.
doomty
Posts: 15

Re: 【需求】面板小程序支持监听Native页面中家庭成员添加/修改(基本信息或角色)/删除事件

RN之前是有提供相关监听器的,小程序可以同步提供一下吗?
// addMemberHandler 添加成员;removeMemberHandler 移除成员;resetMemberRoleHandler 修改成员角色;resetMemberNameHandler 修改成员昵称
new NativeEventEmitter(NativeModules.TYRCTHomeManager).addListener('addMemberHandler');

Post Reply