Nativescript-Vue删除iOS ListView点击颜色

时间:2018-12-19 22:53:50

标签: nativescript nativescript-vue

如何更改列表项上的点击颜色?我的应用是一个深色主题,因此当您单击该单元格时会出现白色闪烁,这非常难看。我尝试了以下方法:

组件

const ls  = this.$refs.list

ls.itemLoading=(args)=>{
  const cell = args.ios;
  cell.selectionStyle = UITableViewCellSelectionStyle.UITableViewCellSelectionStyleNone;

} 

我还尝试过在我的mounted方法中对具有ListView的组件进行操作

this.$refs.list日志:

 _uid: 20,
_isVue: true,
'$options':
{ parent:
{ _uid: 19,
_isVue: true,
'$options': [Object],
_renderProxy: [Object],
_self: [Circular],
'$parent': [Object],
'$root': [Object],
'$children': [Object],
'$refs': [Object],
_watcher: [Object],
_inactive: null,
_directInactive: false,
_isMounted: true,
_isDestroyed: false,
_isBeingDestroyed: false,
_events: [Object],
_hasHookEvent: false,
_vnode: [Object],
_staticTrees: null,
'$vnode': [Object],
'$slots': {},
'$scopedSlots': {},
_c: [Object],
'$createElement': [Object],
'$attrs': [Getter/Setter],
'$listeners': [Getter/Setter],
'$store': [Object],
_watchers: [Object],
_props: [Object],
clearHistory: [Object],
go: [Object],
_data: [Object],
clubs: [<…>

2 个答案:

答案 0 :(得分:1)

将事件绑定用于itemLoading

HTML

<ListView ref="listview" @itemLoading="onItemLoading">

JS

onItemLoading: function(args) {
   const cell = args.ios;
   if (cell) {
     cell.selectionStyle = UITableViewCellSelectionStyle.UITableViewCellSelectionStyleNone;
   }
}

答案 1 :(得分:0)

您的代码看起来不错。但是,您只是稍微离开了。

您正在通过自己的需求引用listview模块。您需要在ListView实例而不是模块实例上使用事件。

因此,在页面/组件的页面事件或vue生命周期事件中,您应该从模板中获取ListView的实例,然后按需使用itemLoading事件。