ListView.setClickable() 不起作用。 (Nativescript-Vue)
ListView.setClickable() doesn't work. (Nativescript-Vue)
我正在编写 Nativescript-Vue 应用程序。
我有一个包含两个子组件的组件。
因此,当我点击放置在第二个按钮中的按钮时,我需要禁用放置在第一个按钮中的 ListView 的滚动。
所以我通过 "ref=" 获取了我的 ListView 元素并将其放入商店 (Vuex)
<ListView ref="listViewEl" ></ListView>
...
mounted() {
store.commit('putElInStore', this.$refs.listViewEl)
}
...
putElInStore(state, element) {
state.listViewEl = element
}
我需要在点击第二个子组件中的按钮时禁用 ListView 滚动。所以我使用 store.commit:
<Button @tap="disableListViewScrolling"></Button>
...
disableListViewScrolling() {
store.commit('disableScrolling')
}
...
disableScrolling(state) {
state.listViewEl.nativeView.android.setClickable(false)
}
所以在这种情况下我没有得到任何错误,但是根本没有任何反应。就是不行。
我也试过使用 setEnabled(false) 而不是。它有效,但不正确。
我想念什么?我的错误在哪里?
提前致谢。
应该不需要在 Vuex 中存储元素。如果没有完整的代码,我会给你一个关于如何执行的总体布局。
<Parent>
<childOne ref="listViewChild"></childOne>
<childTwo @disableButtonTapped="$refs.listViewChild.disableClick()"></childTwo>
</Parent>
<childOne>
<ListView ref="list"></ListView>
</childOne>
<script>
export defaults {
methods: {
disableClick () {
this.$refs.list.nativeView.android.setClickable(false)
}
}
}
</script>
<childTwo>
<Button @tap="$emit('disableButtonTapped')"></Button>
</childTwo>
显然此代码不准确。
我正在编写 Nativescript-Vue 应用程序。
我有一个包含两个子组件的组件。 因此,当我点击放置在第二个按钮中的按钮时,我需要禁用放置在第一个按钮中的 ListView 的滚动。
所以我通过 "ref=" 获取了我的 ListView 元素并将其放入商店 (Vuex)
<ListView ref="listViewEl" ></ListView>
...
mounted() {
store.commit('putElInStore', this.$refs.listViewEl)
}
...
putElInStore(state, element) {
state.listViewEl = element
}
我需要在点击第二个子组件中的按钮时禁用 ListView 滚动。所以我使用 store.commit:
<Button @tap="disableListViewScrolling"></Button>
...
disableListViewScrolling() {
store.commit('disableScrolling')
}
...
disableScrolling(state) {
state.listViewEl.nativeView.android.setClickable(false)
}
所以在这种情况下我没有得到任何错误,但是根本没有任何反应。就是不行。
我也试过使用 setEnabled(false) 而不是。它有效,但不正确。
我想念什么?我的错误在哪里?
提前致谢。
应该不需要在 Vuex 中存储元素。如果没有完整的代码,我会给你一个关于如何执行的总体布局。
<Parent>
<childOne ref="listViewChild"></childOne>
<childTwo @disableButtonTapped="$refs.listViewChild.disableClick()"></childTwo>
</Parent>
<childOne>
<ListView ref="list"></ListView>
</childOne>
<script>
export defaults {
methods: {
disableClick () {
this.$refs.list.nativeView.android.setClickable(false)
}
}
}
</script>
<childTwo>
<Button @tap="$emit('disableButtonTapped')"></Button>
</childTwo>
显然此代码不准确。