我使用 v-tabs,我想知道:当我更改选项卡时,我如何知道选项卡 ID?这是我的代码:
<v-tabs class="tabs-container" color="green" grow>
<v-tab class="tab"
v-for="tab of tabs"
:key="tab.id"
:title=tab>
{{tab.name}}
</v-tab>
<v-tabs-items>
<v-tab-item v-for="tab in tabs" :key="tab.id">
<div v-if='tab.id == 0'>
<CreateHero v-on:updateAllTabs="updateAllTabs"/>
</div>
<div v-else>
<HeroPresenter/>
</div>
</v-tab-item>
</v-tabs-items>
</v-tabs>
...
methods: {
updateAllTabs() {
axios.get('/hero').then(responce => {
this.tabs = responce.data
})
},
getHero(id) {
this.$emit("getCurrentHero", id);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当单击选项卡时,我想在 HeroPresenter 组件中发送选项卡 ID。我尝试使用 $emit,但是我应该在 v-tab 中写什么??我的 vue 组件 HeroPresenter 订阅了“getCurrentHero”
状态在 useCallBack 挂钩内变得未定义我认为它没有获得状态变量的范围
const [selectedLocation, setSelectedLocation] = useState()
const selectLocationHandler = (event) => {
setSelectedLocation({
lat: event.nativeEvent.coordinate.latitude,
lng: event.nativeEvent.coordinate.longitude
})
console.log('set location', selectedLocation)
}
const saveLocationPickerHandler = useCallback(() => {
console.log('saveLocation', selectedLocation)
if (!selectedLocation) {
return;
}
props.navigation.navigate('DeliveryLocation', { pickedLocation: selectedLocation })
}, [])
Run Code Online (Sandbox Code Playgroud)
设置位置我正在获取对象 { "lat": 37.775030512686214, "lng": -122.4273883345241, }
其中 savelocation 在控制台中未定义
我已经尝试过几篇文章来构建可定制的 OTP 组件,但很难获得它
其中一些可以在IOS平台上运行,但不能在android平台上运行
最后,作为一个反应原生新手,经过一番努力,我完成了这一点
javascript one-time-password reactjs react-native react-hooks