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>

显然此代码不准确。