【发布时间】:2017-03-30 12:04:05
【问题描述】:
如果用户不希望对当前选定的员工进行更改,他们将能够返回到员工列表并且字段将是使用 type: 'reset' 进入 Add 时清空,就好像要保存更改一样。
似乎 onLeft 在这种情况下不起作用,因为该函数实际上并未被执行。
<Router sceneStyle={{ paddingTop: 65 }}>
<Scene key="auth">
<Scene key="login" component={LoginForm} title="Please Login" initial />
</Scene>
<Scene key="main">
<Scene
onRight={() => Actions.employeeCreate()}
rightTitle="Add"
key="employeeList"
component={EmployeeList}
title="Employees"
initial
/>
<Scene
key="employeeCreate"
component={EmployeeCreate}
title="Create Employee"
/>
<Scene
onLeft={() => Actions.employeeList({ type: 'reset' })}
key="employeeEdit"
component={EmployeeEdit}
title="Edit Employee"
/>
</Scene>
</Router>
【问题讨论】:
-
您是否遇到任何错误? employeeList 函数在哪里?
-
嗨@AdamPatterson,没有错误。似乎 onLeft 中的任何内容都没有被称为 console.log,无法设置 leftTitle 等。在控制台日志中查看没有错误,右边的任何东西都可以工作,但左边没有。将以下任何导航栏左按钮应用到嵌套场景似乎都不起作用。 github.com/aksonov/react-native-router-flux/blob/master/docs/…再次感谢!
-
Actions.pop()能解决你的问题吗? -
看来 onLeft 对我不起作用,您建议将 Actions.pop() 放在哪里?谢谢
-
我不确定。我觉得我需要查看更多您的代码以了解可能发生的情况。我不确定 Actions.pop() 是否会让您传递属性,但您可以将
Actions.employeeList({ type: 'reset' })替换为Actions.pop()以向后退。
标签: reactjs react-native ecmascript-6 react-native-router-flux